Ini adalah tantangan golf kode yang saya pikir dengan bengkok matematika. Tantangannya adalah untuk menulis kode sesingkat mungkin sehingga merupakan pertanyaan terbuka apakah kode tersebut berakhir atau tidak. Sebuah contoh dari apa yang saya maksud bisa menjadi potongan kode berikut python, diadaptasi dari sebuah anwser ke ini cs pertanyaan 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
Matematikawan mengira bahwa tidak ada angka sempurna yang ganjil, tetapi belum pernah terbukti, jadi tidak ada yang tahu jika kode ini akan berakhir. Bisakah Anda membuat potongan kode lain (mungkin mengandalkan masalah terbuka lainnya seperti dugaan Collatz, atau dugaan kembar prima) yang lebih pendek, tetapi yang tidak diketahui apakah mereka berakhir atau tidak?
Sunting: Beberapa orang telah mengemukakan aturan tambahan yang bagus - Solusi untuk pertanyaan harus bersifat deterministik. Meskipun mungkin lebih menarik jika Anda dapat menemukan solusi yang lebih pendek menggunakan nondeterminisme. Dalam hal ini, aturannya adalah menemukan cuplikan yang kemungkinan pemutusannya tidak diketahui.
n=3
while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
.