LoginSignup
1
0

More than 1 year has passed since last update.

【At Corder】【初心者】ABC083B - Some Sums をRuby で解いてみた

Last updated at Posted at 2021-05-20

はじめに

AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita

こちらの記事を参考に初心者がAt corderに挑戦します。
目的としては、就職活動でのコーディングテスト対策です。
毎日1問を目標としてコツコツやってきます:thinking:

わからないことは調べる精神です。ちょっとでもわからないなぁ、と思ったことは調べて解説と参考文献を載せますので、同じ内容でわからない人がいれば参考にししてください:baby:

問題文

1以上N以下の整数のうち、10進法での各桁の和がA以上B以下であるものの総和を求めよ

制約

1≤N≤$10^4$

1≤A≤B≤36

入力はすべて整数

入力

N A B

出力

1以上N以下の整数の内、10進法での各桁の和がA以上B以下であるものの総数を出力せよ

入力例

20 2 5

出力例

84

20以下の整数の内、各桁の和が2以上5以下なのは、2,3,4,5,11,12,13,14,20だ。これらの和は84

回答

N,A,B = gets.split.map(&:to_i)
number = 0

(1..N).each do |i|
  sum = i % 10 + i / 10 % 10 + i / 100 % 10 + i / 1000 % 10 + i / 10000 % 10
  number += i if A <= sum && sum <= B
end


puts number

感想

$10^4$を1000だと勘違いしてエラーが。
なかなかエラーの原因がわからず、他の方の回答を見て、sum = ~ の処理が一桁足りないことに気が付き、解決に至った。🙄

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0