Défi
Étant donné un entier,, n
comme entrée où 36 >= n >= 2
, sortez combien de nombres Lynch-Bell il y a dans la base n
.
La sortie doit être en base 10.
Numéros de Lynch-Bell
Un numéro est un numéro de Lynch-Bell si:
- Tous ses chiffres sont uniques (pas de répétition de chiffres)
- Le nombre est divisible par chacun de ses chiffres
- Il ne contient pas zéro comme l'un de ses chiffres
Étant donné que tous les chiffres doivent être uniques et que vous avez un ensemble fini de numéros à un chiffre dans chaque base, il existe un nombre fini de numéros Lynch-Bell.
Par exemple, dans la base 2, il n'y a qu'un seul numéro Lynch-Bell 1
, car tous les autres numéros répètent des chiffres ou contiennent un 0.
Exemples
Input > Output
2 > 1
3 > 2
4 > 6
5 > 10
6 > 10
7 > 75
8 > 144
9 > 487
10 > 548
Mathematica Online a manqué de mémoire au-dessus de la base 10. Vous pouvez utiliser le code suivant pour générer le vôtre:
Do[Print[i," > ",Count[Join@@Permutations/@Rest@Subsets@Range[#-1],x_/;And@@(x\[Divides]FromDigits[x,#])]&[i]],{i,10,36,1}]
Gagnant
Le code le plus court en octets gagne.
>10
?
f(36)
. Faire un défi de code le plus rapide basé sur cela serait probablement intéressant.