Fişierul intrare/ieşire: | fibo2.in, fibo2.out | Sursă | Lot Juniori 2010 - Baraj 2 |
Autor | Zoltan Szabo | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 5120 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Fibo2
Maria este pasionată de matematică. Ea este interesată în special elementele şirului Fibonacci şi vrea să studieze proprietăţile elementelor acestui şir. De curând a scris elementele Fibonacci: 1, 1, 2, 3, 5, 8, 13, ... şi a observat că un element, numărul 5, poate fi scris ca sumă de alte două numere Fibonacci ridicate la pătrat, 5 = 12 + 22, iar alt număr Fibonacci, numărul 144, poate fi scris ca diferenţă a altor două numere Fibonacci ridicate la pătrat, 144 = 132 - 52.
Maria a fost încântată de rezultatele pe care le-a obţinut şi ar dori să mai găsească şi alte elemente ale şirului care se pot scrie ca sumă sau ca diferenţă de alte două numere Fibonacci ridicate la pătrat.
Cerinţă
Ajutaţi-o pe Maria, să decidă despre un element Fibonacci oarecare dacă se poate scrie ca sumă sau diferenţă de două numere Fibonacci distincte ridicate la pătrat. Datorită valorilor mari ale numerelor Fibonacci se cere restul împărţirii lor la 46337.
Date de intrare
Fişierul de intrare fibo2.in conţine un singur număr natural N, ce reprezintă numărul de ordine al celui de al N-lea număr Fibonacci.
Date de ieşire
În cazul în care problema are soluţie, fişierul fibo2.out va conţine 5 rânduri:
• prima linie a fişierului va conţine valoarea 1 sau 0, după cum cel de al n-lea număr Fibonacci poate fi scris ca sumă, respectiv ca diferenţă a altor două numere Fibonacci ridicate la pătrat.
• a doua linie a fişierului de ieşire va conţine două numere naturale i şi j (0 < i < j) separate printr-un spaţiu, reprezentând numerele de ordine a celor două elemente Fibonacci cerute în enunţ (fn = fj2 ± fi2).
• a treia linie a fişierului de ieşire va conţine restul împărţirii celui de al i-lea număr Fibonacci la 46337,
• a patra linie a fişierului de ieşire va conţine restul împărţirii celui de al j-lea număr Fibonacci la 46337
• a cincea linie a fişierului de ieşire va conţine restul împărţirii celui de al N-lea număr Fibonacci la 46337.
În cazul în care problema nu are soluţie, fişierul de ieşire va conţine pe prima linie valoarea -1.
Restricţii
- 4 ≤ n ≤ 25 000
- Indicii numerelor Fibonacci pornesc de la 1: f1 = 1; f2 = 1; f3 = 2, ...
- Pot exista mai multe soluţii, în acest caz se acceptă oricare dintre ele.
Exemplu
fibo2.in | fibo2.out | Explicatie |
---|---|---|
5 | 1 1 3 1 2 5 | 1 - este vorba de o sumă se folosesc elementele f1 şi f3 f1 mod 46337 = 1 f3 mod 46337 = 2 f5 mod 46337 = 5 fiindcă f5 = f12 + f32 = 12 + 22 = 1 + 4 = 5 |
5 | 0 3 4 2 3 5 | 0 - este vorba de o diferenţă se folosesc elementele f3 şi f4 f3 mod 46337 = 2 f4 mod 46337 = 3 f5 mod 46337 = 5 fiindcă f5 = f42 - f32 = 32 - 22 = 9 - 4 = 5 |
12 | 0 5 7 5 13 144 | 0 - este vorba de o diferenţă se folosesc elementele f5 şi f7 f5 mod 46337 = 5 f7 mod 46337 = 13 f12 mod 46337 = 144 fiindcă f12 = f72 - f52 = 132 - 52 = 169 - 35 = 144 |