Time limit: 0.5sMemory limit: 2MBInput: siruri.inOutput: siruri.out
Se dau patru șiruri de numere reale (an)n≥0, (bn)n≥0, (cn)n≥0, (dn)n≥0, definite recursiv, după cum urmează:
a0 = a+b2, unde a, b numere întregi b0 = c+d2, unde c, d numere întregi c0 = e+f2, unde e, f numere întregi d0 = g+h2, unde g, h numere întregi an+1 = a0an+b0cn, n≥0 bn+1 = a0bn+b0dn, n≥0 cn+1 = c0an+d0cn, n≥0 dn+1 = c0bn+d0dn, n≥0
Cerință
Se cere cel mai mic număr întreg nenegativ n pentru care andn = bncn.
Date de intrare
Se citește din fișierul siruri.ina, b, c, d, e, f, g, h, separate prin câte un spațiu.
Date de ieșire
Să se scrie în fișierul siruri.outn, respectiv −1 daca nu există un astfel de n.
Restricții și precizări
a, b, c, d, e, f, g, h numere întregi cu maxim 8 cifre în scrierea pozițională în baza 10.
Exemplul 1
siruri.in
0 0 0 0 0 0 0 0
siruri.out
0
Explicație
Pentru că a0b0=(0+02)(0+02)=0×0=0 și c0d0=(0+02)(0+02)=0×0=0.
Exemplul 2
siruri.in
1 0 0 0 0 0 1 0
siruri.out
-1
Explicație
Pentru că an=dn=1+02=1 și bn=cn=0+02=0, adică andn=1×1=1 și bncn=0×0=0, pentru orice n≥0.