(이것은 꽤 고전적이지만 여기의 첫 번째 게시물이므로 아직 멋진 것을 준비하지 못했습니다)
굿 스타 시퀀스는 다음과 같이 입력 된 숫자에 대해 정의된다 :
시작 번호 선택 N을 ,하자 B = 2, 반복 :
- 기록 N heriditary베이스의 B의 표기
- n 에서 모든 ( b )를 ( b +1)로 대체하고 1을 뺍니다.
- n 의 새로운 소수 평가를 출력
- 증가 b
유전 기준 표기법은 기준이 더 큰 숫자로 표시되는 숫자의 분해입니다. 예 :
83
HB3에서 :3^(3+1)+2
226
HB2에서 :2^(2^(2+1))+2^(2+1)+2
Goodstein 염기 서열은 항상 0으로 끝나지만 처음에는 상당히 빠른 경향이 있으므로 완전한 염기 서열을 출력하도록 요구되지 않습니다.
직무:
합리적인 형식의 입력 번호가 주어지면 적어도 10 ^ 25 또는 0에 도달 할 때까지이 번호에 대한 Goodstein 시퀀스를 출력해야합니다.
예 :
Input: 3
Output: 3, 3, 3, 2, 1, 0
Input: 13
Output: 13, 108, 1279, 16092, 280711, 5765998, 134219479, 3486786855, 100000003325, 3138428381103, 106993205384715, 3937376385706415, 155568095557821073, 6568408355712901455, 295147905179352838943, 14063084452067725006646, 708235345355337676376131, 37589973457545958193377292
Input: 38
Output: 38, 22876792454990
세부:
2
하나의 테스트 사례를 단계별로 추가 할 수 있습니까?
—
Rod
PPCG에 오신 것을 환영합니다! 좋은 첫 도전!
—
FantaC
@ ØrjanJohansen 그래, 버그는 부동 소수점 오류를 피하기 위해 (또는 간단히 )
—
Anders Kaseorg
int(q/base.b), q%base.b
해야한다는 것 입니다. q//base.b, q%base.b
divmod(q, base.b)
“적어도 10 ^ 25 또는 0에 도달 할 때까지”는 프로그램이 0에 도달 한 후 (예 : -1, -2, -3,…) 계속 될 수 있음을 의미합니까?
—
Anders Kaseorg