- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++で等差数列の和に関する問題をご教授ください)
C++で等差数列の和を求める方法
このQ&Aのポイント
- C++で等差数列の和を求める方法について教えてください。
- ソースコードを見ると、和が0になってしまう問題が発生しています。
- 実行結果が予想通りにならない理由について教えてください。
- みんなの回答 (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) などのように修正すると正しく計算できるようになります。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
>double型にしているので, 整数の問題ではないと思いますけど,どうなんでしょうか? 「1/2」は整数演算ではないですか?
質問者
お礼
1.0/2.0にすべきでした,ありがとうございました
お礼
なるほど,1.0/2.0にすべきでした>< ありがとうございます