"프라임 개구리"는 3이나 19에 도달 할 때까지 정수 사이를 점프하는 이상한 동물입니다.
프로그램은 정수 n
를 입력으로 받아 아래 알고리즘 ( 3
또는 19
) 의 결과를 출력해야합니다 .
주어진 정수의 경우 n >= 2
:
f
개구리의 위치를 봅시다 . 처음에는n
- 경우
f = 3
또는f = 19
다음 개구리 점프는 정지 - 프로그램 및 출력을 정지f
. f
프라임 인 경우 : 개구리가 위치로 이동합니다2×f-1
. 2 단계로 돌아가십시오.- 경우
f
복합입니다 : 할d
일f
의 가장 큰 주요 제수. 개구리는 그 위치로 점프합니다f-d
. 2 단계로 돌아가십시오.
예 :
예를 들면 다음과 n = 5
같습니다.
5 > 9 > 6 > 3 stop
프로그램이 출력되어야합니다 3
.
다른 예 n = 23
:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
다시, 프로그램은을 출력해야합니다 3
.
테스트 사례 :
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
당신은 가정 할 수 있습니다 1 < n < 1000000
(프로그램이 끝났는지 확인했습니다).
3
또는에 온다는 것을 증명할 수 없다면 19
알고리즘에서 항목 2를 변경하여 개구리가 루프에 들어간 경우 (이전에 본 위치를 만나면) 점프를 중단하고 가장 작은 것을 반환합니다. 그 루프의 멤버.