Fişierul intrare/ieşire:fibo2.in, fibo2.outSursăLot Juniori 2010 - Baraj 2
AutorZoltan SzaboAdăugată deGheorgheMihaiMihai Gheorghe GheorgheMihai
Timp execuţie pe test0.1 secLimită de memorie5120 kbytes
Scorul tăuN/ADificultateN/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.infibo2.outExplicatie
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
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content