Il tuo programma deve prendere un input ( n
ai fini della descrizione) e generare tutte le permutazioni di un numero n
composto 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
x
cifra 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 .