Виклик
Враховуючи ціле число, 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)
. Зробити виклик найшвидшого коду на основі цього, можливо, буде цікаво.