Desafío
Dado un número entero, ncomo entrada donde 36 >= n >= 2, salida cuántos números Lynch-Bell hay en la base n.
La salida debe estar en la base 10.
Números de Lynch-Bell
Un número es un número de Lynch-Bell si:
- Todos sus dígitos son únicos (sin repetición de dígitos)
- El número es divisible por cada uno de sus dígitos.
- No contiene cero como uno de sus dígitos
Como todos los dígitos tienen que ser únicos y tiene un conjunto finito de números de un solo dígito en cada base, hay un número finito de números de Lynch-Bell.
Por ejemplo, en la base 2 solo hay un número de Lynch-Bell 1, ya que todos los demás números repiten dígitos o contienen un 0.
Ejemplos
Input > Output
2 > 1
3 > 2
4 > 6
5 > 10
6 > 10
7 > 75
8 > 144
9 > 487
10 > 548
Mathematica Online se quedó sin memoria por encima de la base 10. Puede usar el siguiente código para generar el suyo propio:
Do[Print[i," > ",Count[Join@@Permutations/@Rest@Subsets@Range[#-1],x_/;And@@(x\[Divides]FromDigits[x,#])]&[i]],{i,10,36,1}]
Victorioso
El código más corto en bytes gana.
>10?
f(36). Hacer un desafío de código más rápido basado en esto sería probablemente interesante.