Generarea unor șiruri: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 1: Line 1:
{| class="wikitable sortable"
== Cerință ==
|+
 
!Denumire exercițiu
Se dă un număr natural n. Să se afişeze termenul n al şirului lui Fibonacci.
|-
*Se consideră şirul Fibonacci, definit astfel: f1=0 , f2=1 , fn=fn-1+fn-2 , dacă n>2.
|[[]]
 
|-
== Date de intrare ==
|[[]]
 
|-
Programul citește de la tastatură numărul n.
|[[]]
 
|-
== Date de ieșire ==
|[[]]
 
|-
Programul afișează pe ecran termenul n al sirului lui Fibonacci.
|[[]]
 
|-
== Restricții și precizări ==
|[[]]
 
|}
1 ≤ n ≤ 500.000.000
 
== Exemplu ==
 
Date de intrare: 5 Date de ieșire: 3
 
== Rezolvare ==
 
<syntaxhighlight lang="python" line>
def fibonacci(n):
    fibo1, fibo2 = 0, 1  #initializam primii doi termeni ai sirului lui Fibonacci
    for i in range(3, n+1):
        fibo3 = fibo2 + fibo1
        fibo1,fibo2 = fibo2,fibo3
    print(fibo3)
 
 
if __name__ == "__main__":
    n = int(input())
    fibonacci(n)
</syntaxhighlight>

Revision as of 16:24, 30 December 2022

Cerință

Se dă un număr natural n. Să se afişeze termenul n al şirului lui Fibonacci.

  • Se consideră şirul Fibonacci, definit astfel: f1=0 , f2=1 , fn=fn-1+fn-2 , dacă n>2.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul afișează pe ecran termenul n al sirului lui Fibonacci.

Restricții și precizări

1 ≤ n ≤ 500.000.000

Exemplu

Date de intrare: 5 Date de ieșire: 3

Rezolvare

<syntaxhighlight lang="python" line> def fibonacci(n):

   fibo1, fibo2 = 0, 1  #initializam primii doi termeni ai sirului lui Fibonacci
   for i in range(3, n+1):
       fibo3 = fibo2 + fibo1
       fibo1,fibo2 = fibo2,fibo3
   print(fibo3)


if __name__ == "__main__":

   n = int(input())
   fibonacci(n)

</syntaxhighlight>