Il tuo programma deve prendere un input ( nai fini della descrizione) e generare tutte le permutazioni di un numero ncomposto da cifre lunghe senza cifre ripetitive, in cui ciascuna delle cifre che precedono e incluso il suo indice sono divisibili per il posto nel numero che cade .
Puoi leggere i numeri magici qui .
Regole:
1 <= n <= 10- Nessuna cifra può essere ripetuta
- Lo 0 iniziale deve essere presente (se applicabile)
- La prima
xcifra della prima cifra del numero (che inizia con il primo carattere come 1) deve essere divisibile perx, ovvero in30685,3è divisibile per 1,30è divisibile per 2,306è divisibile per 3,3068è divisibile per 4 ed30685è divisibile per 5 . - Il programma deve prendere un numero intero come input (attraverso la riga di comando, come argomento di funzione, ecc.) E stampare tutte le permutazioni che soddisfano le regole.
- L'output deve essere separato da 1 o più caratteri di spazio bianco
- Le permutazioni possono iniziare e con zero (quindi non sono numeri tecnicamente magici).
- L'ordine di uscita non ha importanza
- Non è necessario gestire input imprevisti
- Vince il numero minimo di caratteri in byte
Esempi
Dato 1:
0
1
2
3
4
5
6
7
8
9
Dato 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
Dato 10:
3816547290
Ringraziamo Pizza Hut e John H. Conway per il puzzle originale (Opzione A). Grazie a @Mego e @ sp3000 per i loro collegamenti .