- ベストアンサー
等差数列の終値を求める
【問題】等差数列の和から while 文を使って、等差数列の終値を求めるプログラムを作成せよ。 ・初期値、等差はともに1とする。 ・等差数列の和は適切な最小値に丸めてあつかう。 ※ 55~65入力の場合は10が出力される。前回、次の問題の意味をある方に教えていただきました。 この問題をとくプログラムをプログラムを作りました。 class bbb { public static void main(String[] args) { int n = 10; // 計算の焦点の項数 int Sk = 1; // k項までの和 int Sn = 55; // 第n項までの総和 int ak = 1; // int a1 = 0; // 初項 int d = 1; // 項差 System.out.println("start"); while (Sk < Sn) { ak = a1 + (n-1)*d; Sk += ak; n++; } System.out.println(a1 + (n - 2)*d); } } しかし、「55~65入力の場合は、10が出力される」はずですが出力されません。 どなたか修正をお願い致します。また、コメントも書いて頂ければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- age_momo
- ベストアンサー率52% (327/622)
回答No.2
お礼
わかりやすいコメントをしていただき ありがとうございました!