Wyzwanie
Biorąc pod uwagę liczbę całkowitą, n
jako dane wejściowe 36 >= n >= 2
, należy podać liczbę liczb Lynch-Bell w bazie n
.
Wyjście musi znajdować się w bazie 10.
Numery Lynch-Bell
Liczba jest liczbą Lynch-Bell, jeśli:
- Wszystkie jego cyfry są unikalne (bez powtarzania cyfr)
- Liczba jest podzielna przez każdą z jej cyfr
- Nie zawiera zera jako jednej z jego cyfr
Ponieważ wszystkie cyfry muszą być unikalne, a ty masz skończony zestaw liczb jednocyfrowych w każdej bazie, istnieje skończona liczba liczb Lynch-Bell.
Na przykład w bazie 2 jest tylko jeden numer Lynch-Bell 1
, ponieważ wszystkie inne liczby albo powtarzają cyfry, albo zawierają 0.
Przykłady
Input > Output
2 > 1
3 > 2
4 > 6
5 > 10
6 > 10
7 > 75
8 > 144
9 > 487
10 > 548
Mathematica Online zabrakło pamięci powyżej podstawy 10. Możesz wygenerować własny kod za pomocą następującego kodu:
Do[Print[i," > ",Count[Join@@Permutations/@Rest@Subsets@Range[#-1],x_/;And@@(x\[Divides]FromDigits[x,#])]&[i]],{i,10,36,1}]
Zwycięski
Najkrótszy kod w bajtach wygrywa.
>10
?
f(36)
. Podejmij wyzwanie najszybszego kodu w oparciu o to prawdopodobnie byłoby interesujące.