Создайте функцию, которая принимает натуральное число (начиная с 0 включительно) и возвращает пару натуральных чисел, которые являются числителем и знаменателем соответственно. Используйте диагональный обход. Предыдущие номера должны быть пропущены. (вы можете запомнить набор пропущенных значений)
Диаграмма:
Красные пропущенные значения
Ценности:
- f (0) = 1, 1
- f (1) = 2, 1
- f (2) = 1, 2
- f (3) = 1,3
- f (4) = 3, 1 (обратите внимание на пропуск)
- f (5) = 4, 1
- f (6) = 3, 2
- f (7) = 2,3
- f (8) = 1,4
- f (9) = 1,5
- f (10) = 5, 1 (обратите внимание на пропуск)
Вы можете использовать структуру данных Rational и их операции, если они существуют. Самый короткий код выигрывает.