回答編集履歴
6
テキスト修正
answer
CHANGED
@@ -96,7 +96,7 @@
|
|
96
96
|
### 追記3
|
97
97
|
|
98
98
|
考え方の違う案をもう一つ挙げます。
|
99
|
-
一行に星を5個出力する場合であれば、まず初めに、2つの文字列、`"★☆★☆★"` と `"☆★☆★☆"` とを作っておいて、
|
99
|
+
一行に星を5個出力する場合であれば、まず初めに、2つの文字列、`"★☆★☆★"` と `"☆★☆★☆"` とを作っておいて、これらの2つを交互に出力すれば望む結果が得られます。
|
100
100
|
以下、そのサンプルです。
|
101
101
|
|
102
102
|
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/VwYvNzd?editors=1010](https://codepen.io/jun68ykt/pen/VwYvNzd?editors=1010)
|
5
テキスト修正
answer
CHANGED
@@ -92,4 +92,16 @@
|
|
92
92
|
|
93
93
|
上記で、 `NUM_PER_LINE` を `6` に変えても望ましい結果が得られます。
|
94
94
|
|
95
|
+
|
96
|
+
### 追記3
|
97
|
+
|
98
|
+
考え方の違う案をもう一つ挙げます。
|
99
|
+
一行に星を5個出力する場合であれば、まず初めに、2つの文字列、`"★☆★☆★"` と `"☆★☆★☆"` とを作っておいて、それから各行を出力します。
|
100
|
+
以下、そのサンプルです。
|
101
|
+
|
102
|
+
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/VwYvNzd?editors=1010](https://codepen.io/jun68ykt/pen/VwYvNzd?editors=1010)
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
95
107
|
参考になれば幸いです。
|
4
テキスト修正
answer
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
上記に書いた、
|
73
73
|
- 1行目一番左の星から、最後の行の一番右の星まで、`0` から始まる通し番号を付け、その番号の奇偶で☆と★とを出し分ける。
|
74
74
|
|
75
|
-
という考え方だと、一行に含まれる星の数を1個増やして 6 にすると(どの行も
|
75
|
+
という考え方だと、一行に含まれる星の数を1個増やして 6 にすると(どの行も★始まりになって、)意図した結果にならなくなります。一行の星の数が任意の個数でも対応できるようにするには、上記のような全ての星の通し番号で判定するのではなく、`i`と `a` を使って、以下のようにします。
|
76
76
|
```javascript
|
77
77
|
const NUM_PER_LINE = 5; // 一行に含まれる星の数
|
78
78
|
|
3
テキスト修正
answer
CHANGED
@@ -70,7 +70,7 @@
|
|
70
70
|
### 追記2
|
71
71
|
|
72
72
|
上記に書いた、
|
73
|
-
- 1行目一番左の星から、最後の行の一番右の星まで、`0` から始まる番号を付け、その番号の奇偶で★と
|
73
|
+
- 1行目一番左の星から、最後の行の一番右の星まで、`0` から始まる通し番号を付け、その番号の奇偶で☆と★とを出し分ける。
|
74
74
|
|
75
75
|
という考え方だと、一行に含まれる星の数を1個増やして 6 にすると(どの行も同じになり)意図した結果にならなくなります。一行の星の数が任意の個数でも対応できるようにするには、上記のような全ての星の通し番号で判定するのではなく、`i`と `a` を使って、以下のようにします。
|
76
76
|
```javascript
|
2
テキスト修正
answer
CHANGED
@@ -67,5 +67,29 @@
|
|
67
67
|
```
|
68
68
|
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/PowPLaR?editors=1010](https://codepen.io/jun68ykt/pen/PowPLaR?editors=1010)
|
69
69
|
|
70
|
+
### 追記2
|
70
71
|
|
72
|
+
上記に書いた、
|
73
|
+
- 1行目一番左の星から、最後の行の一番右の星まで、`0` から始まる番号を付け、その番号の奇偶で★と☆を出し分ける。
|
74
|
+
|
75
|
+
という考え方だと、一行に含まれる星の数を1個増やして 6 にすると(どの行も同じになり)意図した結果にならなくなります。一行の星の数が任意の個数でも対応できるようにするには、上記のような全ての星の通し番号で判定するのではなく、`i`と `a` を使って、以下のようにします。
|
76
|
+
```javascript
|
77
|
+
const NUM_PER_LINE = 5; // 一行に含まれる星の数
|
78
|
+
|
79
|
+
for(var i = 0; i < 5; i++) {
|
80
|
+
for(var a = 0; a < NUM_PER_LINE; a++) {
|
81
|
+
if(i % 2 === a % 2) {
|
82
|
+
document.write("☆");
|
83
|
+
}
|
84
|
+
else {
|
85
|
+
document.write("★")
|
86
|
+
};
|
87
|
+
};
|
88
|
+
document.write("<br>");
|
89
|
+
};
|
90
|
+
```
|
91
|
+
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/JjoYVjN?editors=1010](https://codepen.io/jun68ykt/pen/JjoYVjN?editors=1010)
|
92
|
+
|
93
|
+
上記で、 `NUM_PER_LINE` を `6` に変えても望ましい結果が得られます。
|
94
|
+
|
71
95
|
参考になれば幸いです。
|
1
テキスト修正
answer
CHANGED
@@ -14,12 +14,12 @@
|
|
14
14
|
|
15
15
|
そうすると、 __j__ (0≦ __j__ ≦ 24)番目の星について
|
16
16
|
|
17
|
-
-
|
17
|
+
- __j__ が奇数ならば ☆
|
18
|
-
-
|
18
|
+
- __j__ が偶数ならば ★
|
19
19
|
|
20
20
|
を出力すればよいことになります。
|
21
21
|
|
22
|
-
|
22
|
+
__j__ が奇数である if条件は
|
23
23
|
```javascript
|
24
24
|
if (j % 2 === 1) { // i が奇数の場合
|
25
25
|
```
|
@@ -44,6 +44,28 @@
|
|
44
44
|
};
|
45
45
|
```
|
46
46
|
|
47
|
-
- 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/GRgpeyO?editors=1010](https://codepen.io/jun68ykt/pen/GRgpeyO?editors=1010)
|
47
|
+
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/GRgpeyO?editors=1010](https://codepen.io/jun68ykt/pen/GRgpeyO?editors=1010)
|
48
48
|
|
49
|
+
|
50
|
+
### 追記
|
51
|
+
|
52
|
+
上記の回答に記載した、
|
53
|
+
|
54
|
+
- 星に `0`以上`24`以下の番号を付け、その番号の変数を `j` とする。
|
55
|
+
|
56
|
+
という考え方を使うと以下のようにも書けます。
|
57
|
+
|
58
|
+
```javascript
|
59
|
+
const NUM_LINES = 5, // 行の数
|
60
|
+
NUM_PER_LINE = 5, // 一行に含まれる星の数
|
61
|
+
NUM_ALL = NUM_LINES * NUM_PER_LINE; // 全ての星の数
|
62
|
+
|
63
|
+
|
64
|
+
[...Array(NUM_ALL)].forEach((_, j) => {
|
65
|
+
document.write(`${j % 2 ? '☆':'★'}${(j+1) % NUM_PER_LINE ? '' : '<br />'}`);
|
66
|
+
});
|
67
|
+
```
|
68
|
+
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/PowPLaR?editors=1010](https://codepen.io/jun68ykt/pen/PowPLaR?editors=1010)
|
69
|
+
|
70
|
+
|
49
71
|
参考になれば幸いです。
|