Votre programme doit prendre une entrée ( n
à des fins de description) et sortir toutes les permutations d'un nombre n
composé de chiffres longs sans répétition de chiffres, où chacun des chiffres précédant et incluant son index est divisible par la place dans le nombre qu'il tombe .
Vous pouvez lire sur les nombres magiques ici .
Règles:
1 <= n <= 10
- Aucun chiffre ne peut être répété
- Le 0 de tête doit être présent (le cas échéant)
- Le premier au
x
troisième chiffre du nombre (en commençant par le premier caractère 1) doit être divisible parx
, c'est-à-dire en30685
,3
est divisible par 1,30
est divisible par 2,306
est divisible par 3,3068
est divisible par 4 et30685
est divislbe par 5 . - Le programme doit prendre un entier en entrée (via la ligne de commande, comme argument de fonction, etc.) et imprimer toutes les permutations qui satisfont aux règles.
- La sortie doit être séparée par au moins un espace blanc
- Les permutations peuvent commencer et avec zéro (ce ne sont donc pas des nombres techniquement magiques).
- L'ordre de sortie n'a pas d'importance
- Vous n'avez pas besoin de gérer une entrée inattendue
- Le moins de caractères en octets gagne
Exemples
Étant donné 1:
0
1
2
3
4
5
6
7
8
9
Étant donné 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
Étant donné 10:
3816547290
Nous remercions Pizza Hut et John H. Conway pour le puzzle original (option A). Merci à @Mego et @ sp3000 pour leurs liens .