sinam7   3년 전

1번째는 666으로 미리 정의해둔 후에 계산을 시작합니다.

다음 종말수를 찾을 때마다 값을 1000씩 증가시킵니다.

값을 증가시켰을 때 6이 4개 이상 연속되면 6이 얼마나 연속되는지 계산해 jarisu에 저장합니다. (6666: 4개 연속, jarisu = 1 / 66666: 5개 연속, jarisu: 2)

jarisu가 0보다 크면, 즉 6이 4개 이상 연속되는 경우에는 그 경우에 맞는 종말수를 만들어줍니다. (5666 -> 6666 6660, 15666 -> 16666 16660)

이후 N번째 종말수가 될 때까지, 혹은 종말수 규칙에서 벗어날 때까지 종말수를 1씩 더해줍니다.


기존 질문글의 모든 반례를 체크해봤지만 원인을 찾지 못했습니다.

혹시나 도움이 될까 싶어, 코드 2번째 줄의 debug를 True로 바꾸시면 입력한 N까지의 모든 종말수를 출력하게 해 두었습니다.


이전 종말수보다 작거나 '666'이 이어지지 않는 경우는 없어보이는데, 무엇이 문제인지 도통 모르겠네요.

댓글을 작성하려면 로그인해야 합니다.