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

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

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

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

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

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JavaScriptで九九

    繰り返し処理を用いて画像のように表示させたい場合はどこを修正すればいいですか? <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>九九</title> </head> <body> <script> for (var i = 1; i <= 9; i++) { for (var j = 1; j <= 9; j++) { document.write(`${i} * ${j} = ${i*j}<br/>`); } } </script> </body> </html>

  • javascriptで合計を出力したいです

    まず最初にソース載せます⇓ <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=shift-jis"> <title>総合演習</title> </head> <body bgcolor="#FFFFFF"> <script type="text/javascript"> var ninzu2; var ninzu; ninzuu2=Number(ninzu); ninzu=prompt('人数を入力してください', '3');//人数を入力 var points2; var points; points2=Number(points) var points=new Array(); for(var i=0; i<ninzu; i++){ var anaswer; points[i] = anaswer; anaswer = prompt("点数を入力してください",""); var anaswer2; anaswer2=Number(anaswer); } var sum2; var sum=0; sum2=Number(sum); for(i=0; i<points.length; i++){ sum=+points[i]; } document.write(sum); </script> </body> </html> エラーはいっさいありません。ただ計算式が間違ってるだけです 3回入力し、1回目10, 2回目20、 3回目30と入力すると出力結果は20が返ってきました。 要件は入力した数字分の合計を求めるという物です。 けど20が返ってくるってことは平均を出力しているってことですよね? 考えてもわからなくってアドバイスお願いします。

  • PHPで計算問題

    PHPで税抜き価格100円のりんご3個と、 税抜き価格150円のグレープを2個購入した際の合計金額(税込み)を計算し表示するとどのようなプログラムになりますか?。(消費税は10%とします。) JavaScriptだと以下のようになります。(8%で計算しています。) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>JS計算</title> <script> var apple = 100; var grape = 150; num = ((apple * 3) + (grape * 2 )) * 1.08; document.write('<p>合計: ' + num + '</p>'); </script> </head> <body> </body> </html>

    • ベストアンサー
    • PHP
  • コンパイルエラー

    どくがおかしいのでしょうか? JavaScriptです。 <!DOCTYPE html> <html lang = "ja"> <head> <meta charset = "utf-8"> <title>JavaScriptの練習</title> </head> <body> <script> var traffic-light = { blue: "go", yellow: "slow down", red: "stop" } console.log(taffic-light.blue); </script> </body> </html>

  • JavaScriptで数値をimgに設定する

    JavaScriptで 下記のソースにてランダムで出した数値を htmlの width="" height=""に 設定するには どのようにすればよいのでしょうか? <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <title></title> </head> <body> <script> var width = Math.floor(Math.random() * 400) + 1; var height = Math.floor(Math.random() * 400) + 1; </script> <img src="hoge.jpg" alt="" width="" height=""> </body> </html>

  • 何故、Array(3)と表示されるのでしょうか?

    いつもお世話になりありがとうございます。 下記プログラムでTaro,Jiro,Saburoと表示されないで、 Array(3)と表示されます。 どこが違うのでしょうか? ご回答のほど宜しくお願い申し上げます。 <!DOCTYPE html> <html lang = "ja"> <head> <meta charset = "utf-8"> <title>JavaScriptの練習</title> </head> <body> <script> /*console.log("Hello World!") var x=55156,y=29526,z=35489; console.log(x+y+z);*/ var family=["Taro","Jiro","Saburo"]; console.log(family); </script> </body> </html>

  • javespriptについて

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" type="text/css" href="css/top.css"> <title>地球船地球丸プロジェクト</title> <script type="text/javascript"> <!-- for(var i=1;i<=1000,i++){ document.writeln(i+"回目:桑立") } --> </script> </head> <body> </body> </html> と <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" type="text/css" href="css/top.css"> <title>地球船地球丸プロジェクト</title> <script type="text/javascript"> <!-- var ra-men =10; if(ra-men> =60){ alert("合格"); } else{ alert("不合格"); } --> </script> </head> <body> </body> </html> うまくいきません 間違っているのでしょうか

  • while文の条件式に数字だけの場合の動作について

    下記コードはwhileの条件式に数字だけを入れた場合に trueかfalseを判断されるかを試したものです。 実行して見ると、10~0しか表示されず、-1以下は中断されました。 数字だけを入れた場合、0以上はtrueになり、 0よりも下はfalseと判断されるのでしょうか。 <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> </head> <body> <script type="text/javascript"> var i = 10;  while( i-- ) alert(i); </script> </body> </html>

  • HTML5での画像表示について

    HTML5を勉強しはじめたばかりの者です。 http://nigohiroki.hatenablog.com/entry/2013/01/04/025502 ここのサイトみながらラインと四角を表示することはできたのですが、 画像を表示することができません。 <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title>canvasApp</title> </head> <body onload="init()"> <canvas id="first" width="200" height="200"></canvas> <script type="text/javascript"> var canvas = document.getElementById('first'); var ctx = canvas.getContext('2d'); function init(){ var img = new Image(); img.src = "01.jpg"; ctx.drawImage(img, 100, 100, 200, 200); } </script> </body> </html> どこがおかしいのかさっぱりわかりません。 試しに</body>の前に<img src="01.jpg">と入れるとなぜか表示できるのですが、 外すと表示できなくなります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • javascriptでカレンダーを作る方法

    下に書いてあるjavascriptを書き換えて、一番上のマスごとにはsun・mon・tue・wed・thu・fri・satと書かれ、その下の水曜日(wed)のマスから順に1~30まで一マスごとに数字を入れられ、sun・5・12・19・26は赤文字で書かれ、1より前のマスや30以降のマスは空欄のカレンダーを作るにはどうすればいいでしょうか? <!DOCTYPE html> <html lang="java"> <head> <meta charset="utf-8"> <title>sample</title> </head> <body> <script> var table=document.createElement("table"); table.setAttribute("border",1); var tbody=document.createElement("tbody"); for(var i=0;i<4;i++){ var tr=document.createElement("tr"); for(var j=0;j<7;j++){ var td=document.createElement("td"); var txt=i*7+j+1; td.appendChild(document.createTextNode(txt)); tr.appendChild(td); } tbody.appendChild(tr); } table.appendChild(tbody); document.getElementsByTagName("body")[0].appendChild(table); </script> </body> </html>