Utwórz funkcję, która przyjmuje liczbę naturalną (zaczynając od 0 włącznie) i zwraca parę dodatnich liczb całkowitych, które są odpowiednio licznikiem i mianownikiem. Użyj ukośnego przejścia. Liczby wcześniej policzone muszą zostać pominięte. (możesz zapamiętać zestaw pominiętych wartości)
Diagram:
Czerwone są pomijanymi wartościami
Wartości:
- f (0) = 1, 1
- f (1) = 2, 1
- f (2) = 1, 2
- f (3) = 1, 3
- f (4) = 3, 1 (zauważ pominięcie)
- f (5) = 4, 1
- f (6) = 3, 2
- f (7) = 2, 3
- f (8) = 1, 4
- f (9) = 1, 5
- f (10) = 5, 1 (zauważ pominięcie)
Możesz użyć struktury danych Rational i ich operacji, jeśli istnieją. Najkrótszy kod wygrywa.