.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » fibo1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
fibo1


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

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 text fibo1.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 fibo1.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 sa linie valoarea -1.

Restricţii

5<n<25000
Indicii numerelor Fibonacci pornesc de la 1: f1=1; f2=1; f3=2,...

Exemple

fibo1.infibo1.outExplicaţii
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-25=144

autor: Prof. Zoltan Szabo
propunător: Prof. Emanuela Cerchez
Liceul de Informatică ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor