C’est un défi de code de golf auquel j’ai pensé avec un penchant mathématique. Le défi consiste à écrire le code le plus court possible, de manière à poser la question de savoir si le code se termine ou non. Un exemple de ce que je veux dire pourrait être la pièce suivante de code python, adapté d'un anwser à cette question 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
Les mathématiciens supposent qu'il n'y a pas de nombres impairs parfaits, mais comme cela n'a jamais été prouvé, personne ne sait si ce code se terminera jamais. Pouvez-vous proposer d'autres éléments de code (reposant peut-être sur d'autres problèmes non résolus, tels que la conjecture de Collatz ou la conjecture des nombres premiers jumeaux) qui sont plus courts, mais pour lesquels on ne sait pas s'ils se terminent ou non?
Edit: Certaines personnes ont évoqué une bonne règle supplémentaire - Les solutions à la question devraient être déterministes. Bien que cela puisse être encore plus intéressant si vous pouviez trouver des solutions plus courtes en utilisant le non déterminisme. Dans ce cas, la règle serait de rechercher un extrait dont la probabilité de terminaison est inconnue.
n=3
while sum(k*(n%k<1)for k in range(1,n))-n:n+=2
.