Questa è una sfida di golf del codice che ho pensato con una piega matematica. La sfida è scrivere il codice più breve possibile in modo che sia una domanda aperta se il codice termina o meno. Un esempio di ciò che intendo potrebbe essere il seguente pezzo di codice Python, adattato da una risposta a questa domanda 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
I matematici ipotizzano che non ci siano numeri perfetti dispari, ma non è mai stato provato, quindi nessuno sa se questo pezzo di codice finirà mai. Puoi trovare altri pezzi di codice (forse basandoti su altri problemi aperti come la congettura di Collatz o la congettura dei primi gemelli) che sono più brevi, ma per i quali non si sa se terminano o no?
Modifica: alcune persone hanno introdotto una buona regola aggiuntiva: le soluzioni alla domanda dovrebbero essere deterministiche. Anche se potrebbe essere ancora più interessante se tu potessi trovare soluzioni più brevi usando il non determinismo. In questo caso, la regola sarebbe quella di trovare uno snippet per il quale non è nota la probabilità di terminazione.
n=3
while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
.