回答編集履歴

2

追記

2015/11/23 04:39

投稿

yuux01
yuux01

スコア34

test CHANGED
@@ -157,3 +157,41 @@
157
157
  console.log( hoge( 4 ) );
158
158
 
159
159
  ```
160
+
161
+
162
+
163
+ ```Javascript
164
+
165
+ function hoge( n ) {
166
+
167
+ var ary = [];
168
+
169
+ var i, j, k, x = 1;
170
+
171
+
172
+
173
+ for ( i = 0; i < n; i ++ ) ary[ i ] = [];
174
+
175
+
176
+
177
+ for ( k = 0; k <= ( n - 1 ) * 2; k ++ )
178
+
179
+ for ( i = 0, j = k; j >= 0; i ++, j -- )
180
+
181
+ if ( i < n && j < n )
182
+
183
+ ary[ i ][ j ] = x ++;
184
+
185
+
186
+
187
+ return ary;
188
+
189
+ }
190
+
191
+ console.log( hoge( 4 ) );
192
+
193
+ ```
194
+
195
+
196
+
197
+ 最短で4行、これ以上無理

1

追加

2015/11/23 04:39

投稿

yuux01
yuux01

スコア34

test CHANGED
@@ -83,3 +83,77 @@
83
83
 
84
84
 
85
85
  あまりきれいなプログラムじゃありませんが
86
+
87
+
88
+
89
+ ```Javascript
90
+
91
+ function hoge ( n ) {
92
+
93
+ var ary = [];
94
+
95
+ var i;
96
+
97
+
98
+
99
+ for ( i = 0; i < n; i ++ ) {
100
+
101
+ ary[ i ] = [];
102
+
103
+ }
104
+
105
+
106
+
107
+ moga( ary, 0, 0, 1, 1, n );
108
+
109
+
110
+
111
+ function fuga( ary, i, j, x, y, n ) {
112
+
113
+ if ( y < 0 || j < 0 ) return;
114
+
115
+
116
+
117
+ if ( i < n && j < n ) {
118
+
119
+ ary[ i ][ j ] = x;
120
+
121
+ }
122
+
123
+ if ( i == 0 ) {
124
+
125
+ fuga( ary, i + 1, j - 1, x + 1, 0, n );
126
+
127
+ x += y;
128
+
129
+ if ( j < n - 2 ) {
130
+
131
+ y++;
132
+
133
+ } else if ( j > n - 2 ) {
134
+
135
+ y--;
136
+
137
+ }
138
+
139
+ fuga( ary, i, j + 1, x, y, n );
140
+
141
+ } else {
142
+
143
+ fuga( ary, i + 1, j - 1, x + 1, y, n );
144
+
145
+ }
146
+
147
+ }
148
+
149
+
150
+
151
+ return ary;
152
+
153
+ }
154
+
155
+
156
+
157
+ console.log( hoge( 4 ) );
158
+
159
+ ```