Documente Academic
Documente Profesional
Documente Cultură
- iterativ și recursiv –
Autor: Matei Alexandru-Petruț
Grupa: 313AC
Algoritmii de aflare a numărului și a sumei cifrelor unui număr , atât iterativi cât și recursivi, se
implementează foarte simplu. Pentru prelucrarea cifrelor unui număr n se extrag pe rând cifrele
acestuia. Întotdeauna cifra extrasă va fi cifra cea mai nesemnificativă (ultima cifră), cu operaţia
n%10. După extragerea ultimei cifre, aceasta se prelucrează, apoi, această cifră, se elimină din
numărul iniţial. Algoritmul continuă până când numărul mai are cifre (n!=0). În cazul calculării
numărului de cifre al numărului se mai adaugă algoritmului precedent etapa contorizării ( cât
timp numărul nu este 0, se adaugă 1 la o variabilă inițial egală cu 0).În cazul calculării sumei
cifrelor, se adaugă pe rând ultima cifră la o variabilă inițial egală cu 0. Iterativ, se folosește
instrucțiunea repetitivă while, în schimb, din punct de vedere recursiv, se folosește autoapelarea
funcției de calcul al numărului de cifre, respectiv al sumei cifrelor numărului.
Exemplu:
nr 0 s 0
123456789 123456789
nr 0+1=1 s 0+9=9
nr 1+1=2 s 9+8=17
nr 2+1=3 s 17+7=24
nr 3+1=4 s 24+6=30
nr 4+1=5 s 30+5=35
12345 / 10 = 1234 12345 / 10 = 1234
nr 5+1=6 s 35+4=39
nr 6+1=7 s 39+3=42
123 / 10 = 12 123 / 10 = 12
nr 7+1=8 s 42+2=44
12 / 10 = 1 12 / 10 = 1
nr 8+1=9 s 44+1=45
Concluzii:
-Algoritmul iterativ ocupă mai mult spațiu din memorie decât algoritmul recursiv
-Algoritmul iterativ este mai eficient din punct de vedere temporal (timp de execuție) decât
algoritmul recursiv, care conduce la o creștere a vitezei de programare