回答編集履歴
7
テキスト修正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
- この最大2箇所の * とするべきインデクスを p1, p2 (p1≦p2)とする。
|
28
28
|
|
29
|
-
(例:n=5のときの上から
|
29
|
+
(例:n=5のときの上から3行目(i=2)なら、p1=2, p2=6)
|
30
30
|
|
31
31
|
- まず、p1とp2には p1 + p2 = m -1 という関係がある。
|
32
32
|
|
6
テキスト修正
test
CHANGED
@@ -48,7 +48,9 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
|
51
|
+
おそらく元のコードとは少しアプローチの違うものになっていると思います。
|
52
|
+
|
53
|
+
また、メインとなるループで、行インデクス i はコードとしては不要でした。
|
52
54
|
|
53
55
|
|
54
56
|
|
5
テキスト修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
- ひし形全体では (2×n-1)行のテキストになる。
|
12
12
|
|
13
|
-
- 横幅の長さ(=左右の頂点を結ぶ対角線上に、両端も含めて
|
13
|
+
- 横幅の長さ(=左右の頂点を結ぶ対角線上に、両端も含めて文字が何個並ぶか)も、(2×n-1)となる。
|
14
14
|
|
15
15
|
- そこで、上記の数を m とする。すなわち、m = 2×n - 1 とする。
|
16
16
|
|
4
サンプルコード修正
test
CHANGED
@@ -142,6 +142,8 @@
|
|
142
142
|
|
143
143
|
while ( p1 >= 0 ) {
|
144
144
|
|
145
|
+
// アスタリスクにする、もう一方の位置
|
146
|
+
|
145
147
|
int p2 = m -1 - p1;
|
146
148
|
|
147
149
|
|
3
テキスト修正
test
CHANGED
@@ -216,11 +216,11 @@
|
|
216
216
|
|
217
217
|
```
|
218
218
|
|
219
|
-
適切にクラスパスを通して
|
219
|
+
適切にクラスパスを通して、たとえば、一辺が32のひし形であれば、
|
220
220
|
|
221
221
|
> java question9524.RhombusN 32
|
222
222
|
|
223
|
-
のように起動します。
|
223
|
+
のように、起動パラメータに 32 を指定して起動します。
|
224
224
|
|
225
225
|
辺の最大値を、128としているのは、あまり意味はないですが、ターミナルで
|
226
226
|
|
2
サンプルコード修正
test
CHANGED
@@ -100,7 +100,9 @@
|
|
100
100
|
|
101
101
|
} catch (NumberFormatException nfe) {
|
102
102
|
|
103
|
+
System.err.println(
|
104
|
+
|
103
|
-
|
105
|
+
"与えられた引数は整数に変換できません。");
|
104
106
|
|
105
107
|
System.exit(1);
|
106
108
|
|
@@ -112,7 +114,9 @@
|
|
112
114
|
|
113
115
|
if ( n > MAX_SIDE_LENGTH ) {
|
114
116
|
|
117
|
+
System.err.println(
|
118
|
+
|
115
|
-
|
119
|
+
"与えられた引数が最大値(" + MAX_SIDE_LENGTH + ")を超えます。");
|
116
120
|
|
117
121
|
System.exit(1);
|
118
122
|
|
1
テキスト修正
test
CHANGED
@@ -6,6 +6,8 @@
|
|
6
6
|
|
7
7
|
1. 一辺の長さを n とするとき、
|
8
8
|
|
9
|
+
|
10
|
+
|
9
11
|
- ひし形全体では (2×n-1)行のテキストになる。
|
10
12
|
|
11
13
|
- 横幅の長さ(=左右の頂点を結ぶ対角線上に、両端も含めて半角文字が何個並ぶか。)も、(2×n-1)となる。
|
@@ -238,7 +240,7 @@
|
|
238
240
|
|
239
241
|
そうは思いつつも、ここでは冒頭に整理したことをそのままトレースした
|
240
242
|
|
241
|
-
ようなコードにしてみました。
|
243
|
+
ような(つまり、なるべく脳に汗をかかないで済む)コードにしてみました。
|
242
244
|
|
243
245
|
|
244
246
|
|