Jest to wyzwanie golfa kodu, o którym myślałem z matematyki. Wyzwanie polega na napisaniu możliwie najkrótszego kodu, tak aby było otwarte pytanie, czy kod się kończy. Przykładem tego, co mam na myśli mógłby być następujący fragment kodu Pythona, dostosowany od anwser do tego cs Stack Exchange Network pytanie.
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
Matematycy przypuszczają, że nie ma nieparzystych liczb doskonałych, ale nigdy nie zostało to udowodnione, więc nikt nie wie, czy ten fragment kodu kiedykolwiek się skończy. Czy możesz wymyślić inne fragmenty kodu (być może polegające na innych otwartych problemach, takich jak hipoteza Collatza lub hipoteza podwójnych liczb pierwszych), które są krótsze, ale dla których nie wiadomo, czy się kończą?
Edycja: Niektóre osoby wprowadziły dobrą dodatkową zasadę - Rozwiązania tego pytania powinny być deterministyczne. Chociaż może być jeszcze bardziej interesujące, jeśli można znaleźć krótsze rozwiązania wykorzystujące niedeterminizm. W takim przypadku regułą byłoby znalezienie fragmentu, dla którego prawdopodobieństwo zakończenia nie jest znane.
n=3
while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
.