Desafio
Dado um número inteiro,, n
como entrada onde 36 >= n >= 2
, produz quantos números de Lynch-Bell existem na base n
.
A saída deve estar na base 10.
Números de Lynch-Bell
Um número é um número da Lynch-Bell se:
- Todos os seus dígitos são únicos (sem repetição de dígitos)
- O número é divisível por cada um de seus dígitos
- Não contém zero como um de seus dígitos
Como todos os dígitos precisam ser exclusivos e você tem um conjunto finito de números de um dígito em cada base, existe um número finito de números Lynch-Bell.
Por exemplo, na base 2, há apenas um número Lynch-Bell 1
, pois todos os outros números repetem dígitos ou contêm um 0.
Exemplos
Input > Output
2 > 1
3 > 2
4 > 6
5 > 10
6 > 10
7 > 75
8 > 144
9 > 487
10 > 548
O Mathematica Online ficou sem memória acima da base 10. Você pode usar o seguinte código para gerar o seu próprio:
Do[Print[i," > ",Count[Join@@Permutations/@Rest@Subsets@Range[#-1],x_/;And@@(x\[Divides]FromDigits[x,#])]&[i]],{i,10,36,1}]
Ganhando
O menor código em bytes vence.
>10
?
f(36)
. Fazer um desafio de código mais rápido com base nisso provavelmente seria interessante.