Вызов
Учитывая целое число, в n
качестве входных данных где 36 >= n >= 2
выведите количество чисел Линч-Белла в базе n
.
Выход должен быть в базе 10.
Числа Линч-Белл
Число представляет собой числа Линча-Белла, если:
- Все его цифры уникальны (без повторения цифр)
- Число делится на каждую из его цифр
- Он не содержит ноль в качестве одной из своих цифр
Поскольку все цифры должны быть уникальными, и у вас есть конечный набор однозначных чисел в каждой базе, существует конечное число чисел Линч-Белла.
Например, в базе 2 есть только один номер Линча-Белла 1
, поскольку все остальные числа либо повторяют цифры, либо содержат 0.
Примеры
Input > Output
2 > 1
3 > 2
4 > 6
5 > 10
6 > 10
7 > 75
8 > 144
9 > 487
10 > 548
В Mathematica Online не хватило памяти выше базы 10. Вы можете использовать следующий код для генерации своего собственного:
Do[Print[i," > ",Count[Join@@Permutations/@Rest@Subsets@Range[#-1],x_/;And@@(x\[Divides]FromDigits[x,#])]&[i]],{i,10,36,1}]
выигрыш
Самый короткий код в байтах побеждает.
>10
?
f(36)
. Сделать вызов с быстрым кодом на основе этого было бы, вероятно, интересно.