4262 - FiboRec

From Bitnami MediaWiki
Revision as of 19:02, 16 March 2023 by Cata (talk | contribs) (Pagină nouă: == Cerința == Scrieți funcția recursivă cu antetul<br> <code>def FiboRec(x, y)</code><br> care primind ca parametri două numere întregi x și y, returnează 1 dacă x și y și sunt doi termeni consecutivi ai șirului Fibonacci, sau returnează 0 în caz contrar. == Restricții și precizări == * Primii zece termeni ai șirului Fibonacci sunt: 1,1,2,3,5,8,13,21,34,55. * Dacă x și y sunt termeni consecutivi ai șirului Fibonacci, atunci trebuie ca x ≤ y. * Se recom...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Scrieți funcția recursivă cu antetul
def FiboRec(x, y)
care primind ca parametri două numere întregi x și y, returnează 1 dacă x și y și sunt doi termeni consecutivi ai șirului Fibonacci, sau returnează 0 în caz contrar.

Restricții și precizări

  • Primii zece termeni ai șirului Fibonacci sunt: 1,1,2,3,5,8,13,21,34,55.
  • Dacă x și y sunt termeni consecutivi ai șirului Fibonacci, atunci trebuie ca x ≤ y.
  • Se recomandă utilizarea recursivității în rezolvarea problemei.

Exemplu

FiboRec(1, 1) = 1, FiboRec(3, 5) = 1, FiboRec(7, 8) = 0, FiboRec(8, 5) = 0, FiboRec(5, 8) = 1.

Important

Soluția propusă va conține doar funcția cerută. Introducerea în soluție a altor instrucțiuni poate duce la erori de compilare sau de execuție, care vor duce la depunctarea soluției.

Rezolvare

<syntaxhighlight lang="python"> def FiboRec(x, y):

   if x == y:
       return 1
   elif x > y or y < 1:
       return 0
   else:
       return FiboRec(y - x, x)

</syntaxhighlight>