- ベストアンサー
3の倍数の合計値を表示するには
- JavaScriptを使って、1から100までの間で3の倍数の数だけを足した合計値を表示する方法を教えてください。
- forループと条件分岐を使って、1から100までの数を順番にチェックし、3の倍数の場合は合計値に足していきます。
- 最終的に計算された合計値を変数に代入し、HTMLの中に表示することで、3の倍数の合計値を表示することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
sum =1 にしたら、何も足してないのに合計値を1からカウントしてしまいます。 当然、ゼロ開始にすべきでしょうね。 ↓ var sum = 0; そして3の倍数の時に足すんですから、 sum += i; をif文の条件成立時実行文中に入れなければいけませんね。 ↓ if (i % 3 === 0) { sum += i; } あと「表示がうまくいかない」というのは「改行されない」ということでしょうか。 javascriptはHTMLファイル内に組み込まれているので、document.write() で出力したものも、HTMLとして解釈されてしまうんです。 HTMLでは、改行したければ「<br>」タグを使う必要があります。 ですからたとえば、 document.write(sum); の後に document.write('<br>'); と、タグも出力しましょう。 上記の3つを反映すると、結果は 0<br>0<br>3<br>3<br>3<br>9<br>9<br>… という出力がされることになります。 そして<br>タグが解釈され、表示は 0 0 3 3 3 9 9 : となるはずです。 なおforループの中に document.write(sum); が入っているので全ループ分表示されていますが、最後に1回だけ表示したいのなら、forループの外側に置けばいいです。
その他の回答 (2)
- babu_baboo
- ベストアンサー率51% (268/525)
sum = 1 なのが不思議 3増やせば高速 for (var i = 0; i <= 100; i+=3) { sum += i; } 1行で好いなら sum = [...Array(100).keys()].reduce((a,b)=>b%3?a:a+b);
- watanabe04
- ベストアンサー率18% (295/1598)
if (i % 3 === 0) { } sum += i; ではなくて if (i % 3 === 0) { sum += i; } ですね