[x5] Ułamki łańcuchowe
Języki:
pas
c
cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 1000 kB
Niech b0, b1, b2 ,..., bn będą liczbami całkowitymi, bk> 0 dla k> 0. Ułamek łańcuchowy rzędu n o współczynnikach
b1, b2 ,..., bn i elemencie początkowym b0 jest definiowany przez następujące wyrażenie
b0+1/(b1+1/(b2+⋯+1/bn ))
które można w skrócie zapisać [b0;b1,...,bn].
Przykładem ułamka łańcuchowego rzędu n = 3 jest [2;3,1,4]. Jest to odpowiednik
2+ 1/(3+1/(1+1/4))
Napisz program, który zapisze podaną liczbę wymierną jako ułamek łańcuchowy. Aby zapewnić jednoznaczność, zadbaj aby bn>1.
Wejście
Wejście składa się z pewnej ilości liczb wymiernych. Każda liczba wymierna jest określone za pomocą dwóch liczb całkowitych, licznika i mianownika.
Wyjście
Dla każdej liczby wymiernej podanej w danych wejściowych, należy wypisać odpowiadający jej ułamek łańcuchowy (w zaprezentowanym w przykładzie formacie).
Przykładowe wejście
Przykładowe wyjście
b1, b2 ,..., bn i elemencie początkowym b0 jest definiowany przez następujące wyrażenie
b0+1/(b1+1/(b2+⋯+1/bn ))
które można w skrócie zapisać [b0;b1,...,bn].
Przykładem ułamka łańcuchowego rzędu n = 3 jest [2;3,1,4]. Jest to odpowiednik
2+ 1/(3+1/(1+1/4))
Napisz program, który zapisze podaną liczbę wymierną jako ułamek łańcuchowy. Aby zapewnić jednoznaczność, zadbaj aby bn>1.
Wejście
Wejście składa się z pewnej ilości liczb wymiernych. Każda liczba wymierna jest określone za pomocą dwóch liczb całkowitych, licznika i mianownika.
Wyjście
Dla każdej liczby wymiernej podanej w danych wejściowych, należy wypisać odpowiadający jej ułamek łańcuchowy (w zaprezentowanym w przykładzie formacie).
Przykładowe wejście
43 19
1 2
Przykładowe wyjście
[2;3,1,4]
[0;2]