こんにちは
ご質問にあるコードに最小限の修正をして、出力を 1 3 6 10
にするには、x
を更新する以下の行
修正前:
で、 i
が 0 より大きい場合にのみ、 さらにx
に1
を加えればよいです。
以下は、これを実現するコードの一例です。(他にも書き方はあるでしょう)
修正後:
または、上記に代入演算子 +=
を使えば、以下です。
追記
x
を更新するのを、document.write
の後に行うことにすれば、以下でも1 3 6 10
が表示されます。
let x = 1;
for(let i=0; i<=3; i++)
{
console.log("ループの中"+i+"回目");
document.write(x+"<br>");
x += i+2;
}
追記2
このご質問では、x を 1, 3, 6, 10, ・・・ と増加させていくループを書くことが課題ですが、このようなときに思い浮かべるとよいのは、高校の数学で習う、数列の漸化式です。
変数 x の更新されていく値を、数列 { X(i) } で表すとします。高校の数学では、初項の添え字は 1 始まりでしたが、プログラミングでは 0 始まりなので、 i は非負の整数です。即ち、 X(0) が初項で、このご質問の場合、その値は1です。
考えどころは、X(i) の漸化式を作ることです。つまり X(i+1) を X(i) から作る式を考えます。ここは紙に書くなりして試行錯誤するステップです。
今回の場合、
X(i+1) = X(i) + i + 2 ( i ≧ 0, 初項 X(0) = 1 )
が漸化式になります。漸化式が得られたら、それをプログラムとして書けばよいです。上記の回答で、後のほうのコードに書いた
が、上記の漸化式をコードにしたものに相当します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/29 02:15
2020/03/29 05:46