• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:3の倍数の合計値)

3の倍数の合計値を表示するには

このQ&Aのポイント
  • JavaScriptを使って、1から100までの間で3の倍数の数だけを足した合計値を表示する方法を教えてください。
  • forループと条件分岐を使って、1から100までの数を順番にチェックし、3の倍数の場合は合計値に足していきます。
  • 最終的に計算された合計値を変数に代入し、HTMLの中に表示することで、3の倍数の合計値を表示することができます。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.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)

回答No.2

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)
回答No.1

if (i % 3 === 0) { } sum += i; ではなくて if (i % 3 === 0) { sum += i; } ですね

関連するQ&A