前提・実現したいこと
AtCoder ABC083B - Some Sumsの問題を解いています。
問題文
1 以上 N 以下の整数のうち、10 進法での各桁の和が A 以上 B 以下であるものの総和を求めてください。
制約
1≤N≤104
1≤A≤B≤36
入力はすべて整数である
発生している問題・エラーメッセージ
入力例1と2は現在のコードで問題ないのですが、
入力例3を現在のコードで実行した場合
100 4 16 4654
のようになり、100の時各桁の和として1にならなければならないところ、
10となっているのが原因だと考えられます。
どのように修正すればいいかわからず、アドバイスをいただけますと幸いです。
該当のソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int A = scan.nextInt(); int B = scan.nextInt(); int sum = 0; for (int i = 0; i <= N; i++) { int check = i / 10 + i % 10; if (A <= check && check <= B) { sum += i; } } System.out.println(sum); } }
補足情報(FW/ツールのバージョンなど)
Eclipse Version: Oxygen.3a Release (4.7.3a)
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。