Su programa debe tomar una entrada ( n
para fines de descripción) y generar todas las permutaciones de un número de n
dígitos largos sin dígitos repetidos, donde cada uno de los dígitos que preceden e incluyen su índice son divisibles por el lugar en el número que corresponde. .
Puedes leer sobre los números mágicos aquí .
Reglas:
1 <= n <= 10
- No se pueden repetir dígitos
- El 0 inicial debe estar presente (si corresponde)
- El 1 ° al 3
x
° dígito del número (comenzando con el primer carácter como 1) debe ser divisible porx
, es decir30685
, en ,3
es divisible por 1,30
es divisible por 2,306
es divisible por 3,3068
es divisible por 4 y30685
es divisible entre 5 . - El programa debe tomar un número entero como entrada (a través de la línea de comando, como argumento de función, etc.) e imprimir todas las permutaciones que satisfacen las reglas.
- La salida debe estar separada por 1 o más caracteres de espacio en blanco
- Las permutaciones pueden comenzar y con cero (por lo que técnicamente no son números mágicos).
- El orden de salida no importa
- Usted no tiene que manejar la entrada inesperada
- Menos caracteres en bytes gana
Ejemplos
Dado 1:
0
1
2
3
4
5
6
7
8
9
Dado 2:
02
04
06
08
10
12
14
16
18
20
24
26
28
30
32
34
36
38
40
42
46
48
50
52
54
56
58
60
62
64
68
70
72
74
76
78
80
82
84
86
90
92
94
96
98
Dado 10:
3816547290
Gracias a Pizza Hut y John H. Conway por el rompecabezas original (Opción A). Gracias a @Mego y @ sp3000 por sus enlaces .