Documente Academic
Documente Profesional
Documente Cultură
Definiie:
Relaii de recuren
n matematic adesea observm siruri de numere in care fiecare element al sirului se afla cunoscnd elementele anterioare
De exemplu: Progresia aritmetic: unde fiecare element este suma elementului anterior cu ratia progresiei
ai = ai-1 +d
Formule in care elementul curent se exprima prin elemenetul anterior se numesc formule de recuren
Factorialul : n!
Factorialul l putem determina prin doua modalitati Prima modalitate:
n! = 1*2*3**n
A doua modalitate:
n! = n*(n-1)!
uses crt; var n:integer; function Fact(i:integer):longint; begin if i=1 then fact:=1 else fact:=i*Fact(i-1); end; begin clrscr; write(n=); readln(n); Writeln(n,!= ,Fact(n)); readln; end.
Functia recursiva
Fact:=5*Fact(4)
120
Fact:=4*Fact(3)
24
Fact:=3*Fact(2)
Fact:=2*Fact(1)
2
Utilizam recursia
uses crt; var n:integer; function Fib(n:integer):longint; begin if n=0 then Fib:=0 else if n=1 then Fib:=1 else Fib:=Fib(n-1)+Fib(n-2) end;
begin clrscr; write(n=); readln(n); Writeln(Fib(,n,)= ,Fib (n)); readln; end.
Functia recursiva
Turnurile Hanoi
Se considera trei tije verticale a, b si c(fie tija stinga a, tija mijlocie b si tija dreapta c). Pe tija a se gasesc n discuri de diametre diferite, perforate central, aranjate in ordine descrescatoare a diametrelor discurilor, de la baza catre varf. Sa se mute toate discurile de pe tija a pe tija c, folosind ca tija auxiliara tija b, respectand urmatoarele reguli: - la fiecare pas se va muta un singur disc (cel care se afla deasupra celorlalte discuri pe o tija); - un disc poate fi asezat pe o tija doar peste un alt disc avand diametru mai mare decat al sau; - n se citeste de la tastatura si rezultatul se va afisa pe ecran.