Escriba un programa o función que tome un entero positivo N y genere los primeros N números de este patrón de zigzag amplificador, usando solo las líneas necesarias:
26
25 27 .
10 24 28 .
9 11 23 29 .
2 8 12 22 30 44
1 3 7 13 21 31 43
4 6 14 20 32 42
5 15 19 33 41
16 18 34 40
17 35 39
36 38
37
Entonces, si N es 1
la salida es
1
Si N es 2
, la salida es
2
1
Si N es 3
la salida es
2
1 3
Si N es 4
la salida es
2
1 3
4
Si N es 10
la salida es
10
9
2 8
1 3 7
4 6
5
Si N es 19
la salida es
10
9 11
2 8 12
1 3 7 13
4 6 14
5 15 19
16 18
17
y así.
Notas
Cada pico o valle del zigzag alcanza su punto una línea más lejos de la línea con el
1
mismo que el pico o valle anterior.N no se limita a
44
. El zigzag crece en el mismo patrón y se debe admitir N más grande.Los números con varios dígitos solo deben "tocarse" en sus esquinas, como se muestra. Asegúrese de que esto funcione cuando N sea
100
y superior.No debe haber líneas vacías (o solo espacio) en la salida, excepto una nueva línea final opcional.
Cualquier línea puede tener cualquier cantidad de espacios finales.
Tanteo
El código más corto en bytes gana. Tiebreaker es la respuesta anterior.