回答編集履歴

2

テキスト追加

2020/03/29 05:12

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -73,3 +73,43 @@
73
73
  ```
74
74
 
75
75
  - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/bGdOJWy?editors=0011](https://codepen.io/jun68ykt/pen/bGdOJWy?editors=0011)
76
+
77
+
78
+
79
+
80
+
81
+ ## 追記2
82
+
83
+
84
+
85
+ このご質問では、x を 1, 3, 6, 10, ・・・ と増加させていくループを書くことが課題ですが、このようなときに思い浮かべるとよいのは、高校の数学で習う、数列の漸化式です。
86
+
87
+
88
+
89
+ 変数 x の更新されていく値を、数列 __{ X(i) }__ で表すとします。高校の数学では、初項の添え字は 1 始まりでしたが、プログラミングでは 0 始まりなので、 __i__ は非負の整数です。即ち、 __X(0)__ が初項で、このご質問の場合、その値は1です。
90
+
91
+
92
+
93
+ 考えどころは、__X(i)__ の漸化式を作ることです。つまり __X(i+1)__ を __X(i)__ から作る式を考えます。ここは紙に書くなりして試行錯誤するステップです。
94
+
95
+
96
+
97
+ 今回の場合、
98
+
99
+
100
+
101
+ __X(i+1)__ = __X(i)__ + __i__ + __2__ __( i ≧ 0, 初項 X(0) = 1 )__
102
+
103
+
104
+
105
+
106
+
107
+ が漸化式になります。漸化式が得られたら、それをプログラムとして書けばよいです。上記の回答で、後のほうのコードに書いた
108
+
109
+ ```javascript
110
+
111
+ x += i+2;
112
+
113
+ ```
114
+
115
+ が、上記の漸化式をコードにしたものに相当します。

1

テキスト追加

2020/03/29 05:12

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -39,3 +39,37 @@
39
39
 
40
40
 
41
41
  - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/MWwZxKP?editors=0011](https://codepen.io/jun68ykt/pen/MWwZxKP?editors=0011)
42
+
43
+
44
+
45
+
46
+
47
+ ### 追記
48
+
49
+
50
+
51
+ `x` を更新するのを、`document.write` の後に行うことにすれば、以下でも`1 3 6 10` が表示されます。
52
+
53
+
54
+
55
+ ```
56
+
57
+ let x = 1;
58
+
59
+ for(let i=0; i<=3; i++)
60
+
61
+ {
62
+
63
+ console.log("ループの中"+i+"回目");
64
+
65
+
66
+
67
+ document.write(x+"<br>");
68
+
69
+ x += i+2;
70
+
71
+ }
72
+
73
+ ```
74
+
75
+ - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/bGdOJWy?editors=0011](https://codepen.io/jun68ykt/pen/bGdOJWy?editors=0011)