前提・実現したいこと
Atcorder Beginners SelectionのABC 083B(Some Sums)を自力で解いたところ、入力例では正解が出るのにいくつかのケースで不正解になるコードになりました。しかし、自分にはどのようなケースで不正解になるのかわかりません。
コードのバグを見つけたいです。また、このようなとき、どのようにバグを見つけますか?
追記:このコードをAtcorderに提出したところ不正解と判断されたが、そのケースがわからない(∵公表されない)という意味です。
発生している問題・エラーメッセージ
いくつかのケースで間違った値が表示されるが、それがどの値を入力したときかわからない。
該当のソースコード
Ruby 2.3.3
1# 入力を受け取る N A B 2ary = gets.chomp.split.map(&:to_i) 3sum=0 4for i in 1..ary[0] do 5 # それぞれの数字について各桁を受け取る 6 tmp1000 = (i%10000)/10 7 tmp100 = (i%1000)/10 8 tmp10 = (i%100)/10 9 tmp1 = i%10 10 # 各桁を足し合わせる 11 tmp_sum = tmp1000+tmp100+tmp10+tmp1 12 # A < tmp_sum < Bのとき、sumに数を足す 13 if tmp_sum >= ary[1] and tmp_sum <= ary[2] 14 sum+=i 15 end 16end 17puts sum 18
試したこと
入力例1(20 2 5)、入力例2(10 1 2)、入力例3(100 4 16)で正解になることを確かめた。
下記Qiitaの考え方でコードを作り正解となることを確かめた。
補足情報(FW/ツールのバージョンなど)
Atcorder Beginners Selection該当ページ
https://abs.contest.atcoder.jp/tasks/abc083_b
回答1件
あなたの回答
tips
プレビュー