• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++で等差数列の和に関する問題をご教授ください)

C++で等差数列の和を求める方法

このQ&Aのポイント
  • C++で等差数列の和を求める方法について教えてください。
  • ソースコードを見ると、和が0になってしまう問題が発生しています。
  • 実行結果が予想通りにならない理由について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • qwertfk
  • ベストアンサー率67% (55/81)
回答No.2

return (1/2) * n * (1 + n) だと 1/2 = 0 というのが先に評価されてしまうので、 0 * n * (1 + n) = 0 となってしまいます。 ・n * (1 + n) / 2 ・(1.0/2.0) * n * (1 + n) ・0.5 * n * (1 + n) などのように修正すると正しく計算できるようになります。

noname#237746
質問者

お礼

なるほど,1.0/2.0にすべきでした>< ありがとうございます

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>double型にしているので, 整数の問題ではないと思いますけど,どうなんでしょうか? 「1/2」は整数演算ではないですか?

noname#237746
質問者

お礼

1.0/2.0にすべきでした,ありがとうございました

関連するQ&A