質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1606閲覧

バグが見つからない(Atcorder Beginners Selection)

yakata6

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2018/04/11 04:31

編集2018/04/11 04:45

前提・実現したいこと

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

関連するQiita
https://qiita.com/drken/items/fd4e5e3630d0f5859067#3-hello-world-----practice-contest-a-%E5%95%8F%E9%A1%8C%E3%81%AE%E3%81%BF

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/04/11 04:38

不正解のパターンと、その結果、本来正解だったはずの結果を追記してください
yakata6

2018/04/11 04:43

回答ありがとうございます。説明不足でした。このコードをAtcorderに提出したところ不正解と判定されたということです。(テストケースは公表されませんので、わからないです。)
guest

回答1

0

ベストアンサー

各桁を受け取るってことなら

tmp1000 = (i/10000)%10

じゃないのかな?


じゃない。
1000の桁ならこれ

tmp1000 = (i/1000)%10

投稿2018/04/11 04:48

編集2018/04/11 04:50
y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yakata6

2018/04/11 04:54

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問