Ваша программа должна принять входные данные ( n
для целей описания) и вывести все перестановки числа, n
состоящего из цифр длиной без повторяющихся цифр, где каждая из предшествующих цифр и включая ее индекс делятся на место в числе, на которое она падает ,
Вы можете прочитать о магических числах здесь .
Правила:
1 <= n <= 10
- Никакие цифры не могут повторяться
- Должен присутствовать начальный 0 (если применимо)
- 1 - го по
x
го разряда числа (начиная с первым символом , как 1) должна быть кратнаx
, т.е.30685
,3
делится на 1,30
делится на 2,306
делится на 3,3068
делится на 4, и30685
это divislbe к 5 , - Программа должна принимать целое число в качестве входных данных (через командную строку, аргумент функции и т. Д.) И печатать все перестановки, которые удовлетворяют правилам.
- Выходные данные должны быть разделены 1 или более пробелом
- Перестановки могут начинаться и с нуля (поэтому они не являются технически магическими числами).
- Порядок вывода не имеет значения
- Вам не нужно обрабатывать неожиданный ввод
- Наименьшие символы в байтах побеждают
Примеры
Дано 1:
0
1
2
3
4
5
6
7
8
9
Дано 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
Дано 10:
3816547290
Благодарим Pizza Hut & John H. Conway за оригинальную головоломку (вариант A). Спасибо @Mego и @ sp3000 за их ссылки .