도전
n
input where으로 정수가 주어지면 36 >= n >= 2
기본에 몇 개의 Lynch-Bell 숫자가 있는지 출력합니다.n
.
출력은 10 진이어야합니다.
린치 벨 번호
다음과 같은 경우 번호는 Lynch-Bell 번호입니다.
- 모든 숫자는 고유합니다 (숫자 반복 없음)
- 숫자는 각 숫자로 나눌 수 있습니다
- 숫자 중 하나로 0을 포함하지 않습니다.
모든 자릿수는 고유해야하며 각 밑면에 유한 한 한 자릿수 숫자 세트가 있으므로 유한 수의 Lynch-Bell 숫자가 있습니다.
예를 들어, 기수 2에는 Lynch-Bell 번호가 하나만 있습니다. 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)
. 이를 기반으로 가장 빠른 코드 도전을하는 것은 아마도 흥미로울 것입니다.