Javaでaの倍数を足していき、合計がbを越えた時のaの倍数の値を返すプログラムを作成したいです。
public class Practice { public static void main(String[] args) { int a = 3; int b = 30; for(int i = 1; i <= b; i++) { if(i % a == 0) { a += i; } } System.out.println(a); } }
現状このようなコードをかいたのですが、これだと計算結果が若干ずれてしまいます。
どこに間違いがあるのかアドバイスお願いいたします。
どういう結果が帰ればいいんでしょうか
aの倍数ってのは、今回で言うと3の倍数を順番に足していくということですか?
3 + 6 + 9・・・という風にしたいんでしょうか?
今は変数aをループの中で毎回上書いてますので、3の倍数を足して6の倍数を足して12の倍数を足してという風になってますが、これは正しいですか?
iがaに設定されている値になるたびにaに加算されますので、
aの値は「3、6、12、24、48」といったように倍々で増えていくことになります。
そして30を超えた48がコンソールに書き出される値になる。
というのが質問に記述されているソースの動作になりますが、
どの辺りが意図してなかった動きになるのでしょうか。
回答1件
あなたの回答
tips
プレビュー