정의
양의 정수 n는 실제 숫자입니다 (OEIS 시퀀스 A005153 ). 모든 작은 양의 정수는 별개의 제수의 합으로 표시 될 수 있습니다 n.
예를 들어, 18실제 숫자입니다. 제수는 1, 2, 3, 6, 9 및 18이며 18보다 작은 양의 정수는 다음과 같이 형성 할 수 있습니다.
4 = 1 + 3 5 = 2 + 3 7 = 1 + 6
8 = 2 + 6 10 = 1 + 9 11 = 2 + 9
12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 + 6
13 = 1 + 3 + 9 14 = 2 + 3 + 9 15 = 6 + 9
16 = 1 + 6 + 9 17 = 2 + 6 + 9
그러나 14실제 숫자는 아닙니다. 제수는 1, 2, 7, 14이며 4, 5, 6, 11, 12 또는 13에 추가되는 하위 집합이 없습니다.
도전
양의 정수를 입력으로 받아 OEIS와의 일관성을 위해 1부터 색인 된 xx 번째 실제 숫자 를 리턴하거나 인쇄 하는 프로그램, 함수 또는 동사를 작성하십시오 . 코드는 합리적인 데스크톱 컴퓨터에서 2 분 이내에 최대 250000 개의 입력을 처리 할 수있을 정도로 효율적이어야합니다. (NB Java 내 참조 구현은 0.5 초 미만으로 250000을 관리하고 Python에서 내 참조 구현은 12 초 안에 그것을 관리합니다).
테스트 사례
Input Expected output
1 1
8 18
1000 6500
250000 2764000
1000000 12214770
3000000 39258256