이것은 수학적으로 구부러진 것으로 생각한 코드 골프 도전입니다. 문제는 가능한 가장 짧은 코드를 작성하여 코드가 종료되는지 여부에 대한 열린 질문입니다. 내가 의미하는 것의 예는 anwser 에서이 cs stackexchange 질문에 맞게 조정 된 다음 파이썬 코드 일 수 있습니다 .
def is_perfect(n):
return sum(i for i in range(1, n) if n % i == 0) == n
n = 3
while not is_perfect(n):
n = n + 2
수학자들은 홀수의 완벽한 숫자는 없다고 추측하지만 증명 된 적이 없으므로이 코드 조각이 끝날지 아무도 모릅니다. 더 짧은 다른 코드 조각 (콜라 츠 추측 또는 쌍둥이 프라임 추측과 같은 다른 열린 문제에 의존 할 수 있음)을 생각해 낼 수 있습니까?하지만 종료 여부는 알 수 없습니까?
편집 : 일부 사람들은 좋은 추가 규칙을 제시했습니다-질문에 대한 해결책은 결정적이어야합니다. 비결정론을 사용하여 더 짧은 솔루션을 찾을 수 있다면 더 흥미로울 수 있습니다. 이 경우 규칙은 종료 확률을 알 수없는 스 니펫을 찾는 것입니다.
n=3
while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
.