euclid

Time limit: 0.05s Memory limit: 4MB Input: euclid.in Output: euclid.out

Este binecunoscut algoritmul de calcul al celui mai mare divizor comun (cmmdc) cu algoritmul lui Euclid prin împărţiri repetate. Conform acestui algoritm cmmdc a două numere naturale nenule aa şi bb se calculează păstrând restul împărţirii, şi reluând împărţirea cu vechiul împărţitor şi vechiul rest. Algoritmul se va termina când restul împărţirii devine zero. Cel mai mare divizor comun al celor două numere aa şi bb va fi ultimul împărţitor.

Pentru calculul celui mai mare divizor comun al perechii (1616, 2222) se vor efectua succesiv împărţirile:

Deîmpărţit Împărţitor Rest Pas
1616 2222 1616 Pasul 11
2222 1616 66 Pasul 22
1616 66 44 Pasul 33
66 44 22 Pasul 44
44 22 00 Pasul 55

Vom numi un “pas” o operaţie de împărţire ce intervine în calculului cmmdc. Se observă că pentru determinarea cmmdc(1616, 2222) = 22 au fost necesari 55 paşi.

Cerinţă

Cunoscând valoarea unui număr natural nn, realizaţi un program care determină o pereche de numere naturale (aa, bb) mai mici sau egale cu nn, al căror cmmdc se obţine într-un număr maxim de paşi. Dacă există mai multe perechi (xx, yy) cu această proprietate se va afişa cea minimă. Spunem că perechea (aa, bb) este mai mică decât (xx, yy), dacă a<xa < x sau a=xa = x şi b<yb < y.

Date de intrare

Fişierul text euclid.in conţine un singur număr natural nn.

Date de ieșire

Fişierul text euclid.out va conţine pe prima linie numărul maxim de paşi determinat. A doua linie va conţine un număr natural aa reprezentând primul număr al perechii minime identificate, iar pe a treia linie se va scrie numărul bb reprezentând al doilea număr din pereche.

Restricții și precizări

  • 4n102004 \leq n \leq 10^{200};

Exemplul 1

euclid.in

8

euclid.out

5
5
8

Explicație

Numărul maxim de paşi pentru oricare pereche de numere mai mici egale cu 88 este 55. Perechea (55, 88) este minimă cu această proprietate.

Exemplul 2

euclid.in

12345678910 

euclid.out

48
4807526976
7778742049

Explicație

Numărul maxim de paşi pentru oricare pereche de numere mai mici egale cu 12 345 678 91012 \ 345 \ 678 \ 910 este 4848. Perechea (4 807 526 9764 \ 807 \ 526 \ 976, 7 778 742 0497 \ 778 \ 742 \ 049) este minimă cu această proprietate.

Log in or sign up to be able to send submissions!