정의
하자 m
및 n
양의 정수합니다. 우리는 말 m
A는 제수 트위스트 의 n
정수가 존재하는 경우에 1 < a ≤ b
하도록 n = a*b
하고 m = (a - 1)*(b + 1) + 1
. 0 또는 그 이상의 제수 트위스트를 적용하여 m
얻을 수 있으면 의 자손 입니다 . 모든 숫자는 고유 한 자손입니다.n
m
n
예를 들어을 고려하십시오 n = 16
. 우리는 선택할 수 a = 2
하고 b = 8
있기 때문에 2*8 = 16
. 그때
(a - 1)*(b + 1) + 1 = 1*9 + 1 = 10
이는 10
제수의 비틀기 임을 나타냅니다 16
. a = 2
그리고 와 함께 b = 5
, 우리 7
는 이것이 제수의 비틀기임을 알 수 10
있습니다. 따라서 7
의 자손입니다 16
.
작업
양의 정수가 주어지면 n
의 자손을 계산합니다 n
.
규칙
숫자의 제수를 계산하는 내장 연산을 사용할 수 없습니다.
전체 프로그램 및 함수가 모두 허용되며, 정렬되고 복제되지 않는 한 콜렉션 데이터 유형 (일종의 세트와 같은)을 리턴하는 것이 허용됩니다. 가장 낮은 바이트 수가 이기고 표준 허점이 허용되지 않습니다.
테스트 사례
1 -> [1]
2 -> [2] (any prime number returns just itself)
4 -> [4]
16 -> [7, 10, 16]
28 -> [7, 10, 16, 25, 28]
51 -> [37, 51]
60 -> [7, 10, 11, 13, 15, 16, 17, 18, 23, 25, 28, 29, 30, 32, 43, 46, 49, 53, 55, 56, 60]
<
자연수에 대한 관계 를 정의하면 모든 n에 대해 모든 수보다 작지만 고유하지는 않습니다. 나는 이것이 비슷한 것이라고 생각합니다. 이 방법으로 나는 4 명만이 자신의 자손이라고 생각합니다 (그러나 확실하지 않습니다).