Créez une fonction qui prend un nombre naturel (à partir de 0 inclus) et renvoie une paire d'entiers positifs, qui sont respectivement le numérateur et le dénominateur. Utilisez la traversée diagonale. Les nombres comptés précédemment doivent être ignorés. (vous pouvez mémoriser l'ensemble des valeurs ignorées)
Diagramme:
Les valeurs rouges sont ignorées
Valeurs:
- f (0) = 1, 1
- f (1) = 2, 1
- f (2) = 1, 2
- f (3) = 1, 3
- f (4) = 3, 1 (remarquez le saut)
- f (5) = 4, 1
- f (6) = 3, 2
- f (7) = 2, 3
- f (8) = 1, 4
- f (9) = 1, 5
- f (10) = 5, 1 (remarquez le saut)
Vous pouvez utiliser la structure de données Rational et leurs opérations si elles existent. Le code le plus court gagne.