Feladat: I.115 Korcsoport: - Nehézségi fok: -
Füzet: 2005/november, 487 - 488. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Ismeretes, hogy tetszőleges x racionális szám egyértelműen felírható véges lánctört alakban:

x=a0+1a1+1a2+...+1an,
ahol a0 egész szám, az a1,...,an számok pozitív egészek és an>1. A lánctörtjegyeket egyszerű mohó algoritmussal kaphatjuk. Az a0 csak az x egész része lehet. Ha x egész, akkor a lánctört itt véget is ér. Ellenkező esetben, ha x nem egész, akkor x=a0+1y, ahol y=1{x}, és az y számot kell tovább bontanunk.
Írjunk programot, ami közönséges törteket ír át lánctört alakba.
A program a standard bemenetről (a billentyűzetről) olvassa be a közönséges törteket. Minden sor egy a/b alakú törtet fog tartalmazni, ahol a és b legfeljebb négyjegyű egész számok. A program a standard kimenetre (a képernyőre) írja ki ezeknek a törteknek a lánctört alakját, a megadott példa szerint zárójelezve. A program akkor álljon le, ha a standard bemenetről nem lehet olvasni (fájl vége), vagy pedig a beolvasott sor üres.
 
Példa:  InputOutput0/80-4/14-1+1/(1+1/(2+1/2))34/-13-3+1/(2+1/(1+1/(1+1/2)))-2005/-50020+1/(2+1/(2+1/(47+1/(4+1/5))))
 

Beküldendő a program forráskódja (i115.pas, i115.c, ...).