Simplification de l'algorithme de kuzrassiRappel de la définition de nPair : un entier pair p appartient à nPair si p-1 est divisible par 3 mais pas par 9.
Voici un tableau récapitulant les opérations effectuées par les algorithmes de Collatz et de kuzrassi en fonction de la nature de lentier n :

Pour simplifier on peut utiliser lopérateur ternaire de Php, cest-à-dire
condition ? instruction si vrai : instruction si faux, ce qui donne :
dans nPair ? a : b

n

pair ? c : d
Ce qui fondamentalement différencie lalgorithme de Collatz de celui de kuzrassi est donc ceci : le premier considère tous les entiers pairs sur un pied dégalité, alors que le second a besoin de savoir à quel type chacun deux appartient. Les entiers impairs ne jouent aucun rôle dans ce qui détermine laction à prendre. Voici comment déterminer ladite appartenance :
dansnPair(n) = (n+2)/18 est entier OU (n+14)/18 est entier

vrai ou faux
Dans une suite de Collatz (ou de kuzrassi), les entiers pairs qui nappartiennent pas à nPair sont de la forme

cest-à-dire 2, 8, 10, 14, 20, 26, 28, 32, 38, 44, 46, 50, 56, 62, 64, 68, 74, 80, 82, 86, 92, 98, 100,
Il est nettement plus simple de tester lappartenance à nPair plutôt quà ce machin-là, dautant plus quon na même pas besoin de savoir au préalable si n est pair ou impair : il suffit de savoir sil passe ou non le test dansnPair(n). Ça évite les trois tests "n pair ?", "n-1 divisible par 3 ?", "n-1 non divisible par 9 ?".
L'algorithme peut désormais s'écrire : si dansnPair(n1) alors n2 = (n1-1)/3, sinon n2 = 2*n1. Ça le rend aussi simple que celui de Collatz.