Thursday, January 4, 2018

Generarea elementelor șirului FIBONACCI

Generarea elementelor șirului FIBONACCI se realizează după formulele:
F0 = 0
F1 = 1
F2 = F0 + F1
...
Fn = Fn-1 +Fn-2

 A genera n+1  termen ai șirului FIBONACCI înseamnă a calcula termenii 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,... , Fn-1 +Fn-2.
Știind că F461.836.311.903  și cel mai mare număr întreg memorat pe 4 bytes este 2.147.483.647 iar F47 = 2.971.215.073 vectorul cu termeni generați nu trebuie să depășească 47 de termeni, subprogramul generează cel mult  termenii F0 F1,  F2 F3,  ....F46,  din șirul FIBONACCI, pentru N mai mare decât 2 și mai mic decât 47..
Subprogramul este:
         SUBROUTINE FIBON(N,ISIR,IK)
         IK=0
         IF((N.GT.46).OR.(N.LE.2)) GO TO 20
         ISIR(1)=0
         ISIR(2)=1
         DO  10 I=3,N
         ISIR(I)=ISIR(I-1) + ISIR(I-2)
10     CONTINUE
         IK=1
         RETURN

         END
Subprogramul returneză șirul de termeni generat și variabila de stare IK egală cu 1 dacă șirul a fost generat, respectiv, IK egal cu zero dacă numărul de termeni este incorect.




(04 ianuarie 2018)

No comments:

Post a Comment