La séquence de Kuznetsov
(I made the name up, don't bother with Wikipedia or Google)
Étant donné n'importe quel nombre n > 0
, r
représentons l'inverse du nombre n
. Itérer jusqu'à ce que le résultat final soit nul, en passant le résultat de chaque itération dans la fonction en utilisant la récursivité ou une méthodologie de votre choix en effectuant l'opération ci-dessous:
- Si
r > n
pour cette itération le résultat estr % n
. - Si
n > r
pour cette itération le résultat estn % r
. - Si
n % r = 0
our % n = 0
, vous mettez fin à l'itération.
Prenez le résultat intermédiaire de chaque exécution et stockez-les dans un tableau pour la réponse finale. Le nombre initial n
ne fait pas partie de la séquence, pas plus 0
; les exemples devraient rendre tout un peu plus évident.
Permet de parcourir un exemple où n=32452345
.
54325423 % 32452345 = 21873078 # r > n, uses r % n
87037812 % 21873078 = 21418578 # r > n, uses r % n
87581412 % 21418578 = 1907100 # r > n, uses r % n
1907100 % 17091 = 9999 # n > r, uses n % r
9999 % 9999 = 0 # r % n = n % r = 0, terminated
Result: [21873078, 21418578, 1907100, 9999]
Un autre exemple n=12345678
:
87654321 % 12345678 = 1234575 # r > n, uses r % n
5754321 % 1234575 = 816021 # r > n, uses r % n
816021 % 120618 = 92313 # n > r, uses n % r
92313 % 31329 = 29655 # n > r, uses n % r
55692 % 29655 = 26037 # r > n, uses r % n
73062 % 26037 = 20988 # r > n, uses r % n
88902 % 20988 = 4950 # r > n, uses r % n
4950 % 594 = 198 # n > r, uses n % r
891 % 198 = 99 # r > n, uses r % n
99 % 99 = 0 # r % n = n % r = 0, terminated
Result: [1234575, 816021, 92313, 29655, 26037, 20988, 4950, 198, 99]
Un dernier exemple n=11000
:
11000 % 11 = 0 # n % r = 0, terminated
Result: []
Il s'agit du nombre de victoires par nombre d'octets le plus bas du code-golf .