eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Подання квадратичною ірраціональністю

Подання квадратичною ірраціональністю

\includegraphics{https://static.e-olymp.com/content/dd/ddbfbacd214b92d27d463989922d3c9a5c68c081.jpg} \includegraphics{https://static.e-olymp.com/content/1d/1d28e461a5cb7c33de9de233d51ffcf2d1854228.jpg} Відомо, що довільний скінчений чи періодичний ланцюговий дріб можна подати у вигляді раціонального дробу або у вигляді квадратичної ірраціональності . Потрібно для заданого дробу отримати одне з таких поданнів. \InputFile У єдиному рядку вхідного файлу задається ланцюговий дріб у форматі \textbf{\[a_0, a_1, ..., a_\{n−1\}\]} (\textbf{1} ≤ \textbf{n} ≤ \textbf{13}), якщо він скінченний, або у форматі \textbf{\[a_0, ..., a_\{p-1\}, (a_p, ..., a_\{p+l-1\})\]} (\textbf{p} ≥ \textbf{0}, \textbf{l} > \textbf{0}, \textbf{p+l} ≤ \textbf{13}), якщо він періодичниц (\textbf{−5} ≤ \textbf{a}_\{0 \}≤ \textbf{5 }при \textbf{p} > \textbf{0}, \textbf{1} ≤ \textbf{a}_\{i \}≤ \textbf{5} для \textbf{i} > \textbf{0}). \OutputFile У єдиний рядок вихідного файлу необходіно вивести подання заданого ланцюгового дробу у вигляді раціонального \textbf{a/с}, де \textbf{a} та \textbf{c} цілі числа, \textbf{c} > \textbf{0}, або у вигляді квадратичної ірраціональності \textbf{(a+b*sqrt(N))/c} (або \textbf{(a-b*sqrt(N))/c)}, де \textbf{a}, \textbf{b}, \textbf{c}, \textbf{N} - цілі числа, \textbf{а}, \textbf{b} > \textbf{0}, \textbf{c} > \textbf{0}, \textbf{N} > \textbf{0}. Якщо існуюють обидва подання, слід виводити раціональне. У вмпадку декількох можливих поданнів необхідно вибрати таке, у якого значення \textbf{N} було б мінімально можливим, а з них подання з мінімальним значенням \textbf{c}.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
[2]
Вихідні дані #1
2/1
Автор Віталій Неспірний
Джерело Літня школа Севастополь 2013, Хвиля 2, День 4