Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasio uwielbia matematykę. Ostatnio zaczął rozważać ułamki egipskie – zapisy dowolnego ułamka zwykłego w postaci sumy parami różnych ułamków zwykłych o liczniku równym 1.
Na przykład: ułamek $\frac{4}{5}$ może być przedstawiony jako ułamek egipski w następujący sposób: $$\frac{4}{5} = \frac{1}{2} + \frac{1}{4} + \frac{1}{20}$$ Jasio uwielbia matematykę, ale bardzo nie lubi dużych mianowników w ułamkach, dlatego postanowił rozważać tylko ułamki egipskie w których wszystkie mianowniki są równe co najwyżej N. Aby nie było zbyt trudno, na dobry początek Jasio postawił przed sobą zadanie znalezienia wszystkich przedstawień liczby 1 jako ułamek egipski (oczywiście o mianownikach ograniczonych przez N). Tak się jakoś złożyło, że to zadanie go przerosło. Pomóż mu!
Napisz program, który: wczyta liczbę N, wyznaczy wszystkie zapisy liczby 1 jako ułamki egipskie o mianowniku nie przekraczającym N i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna N – ograniczenie na mianownik wypisywanego ułamka.
Wyjście
Twój program powinien wypisać na wyjście wszystkie zapisy liczby 1 jako ułamki egipskie, w których mianownik każdego ułamka nie przekracza N. Każdy ułamek egipski powinien być wypisany jako rosnący ciąg mianowników pooddzielanych pojedynczymi odstępami. Wypisywane ciągi powinny być w kolejności leksykograficznej.
Ograniczenia
1 ≤ N ≤ 50.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
$1 = \frac{1}{1} = \frac{1}{2} + \frac{1}{3} + \frac{1}{6}$. |