Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Analyzovať rekurzívny algoritmus . V tomto príklade budete používať rekurzívne riešenie pre faktoriálu problému :
int faktoriál ( int skutočnosť ) {
if ( fakt == 0 ) { return 1 ; } else { return skutočnosť * faktoriál ( skutočnosť - 1 ) ; } }
2
Rozhodnite , či nejaké argumenty funkcie môžu byť držané v premenných . V factorial príklade , výsledky faktoriál môžu byť uložené v premennej " total_factorial " pre dobu trvania každej iterácie . Tento príklad ukazuje , rekurzívny algoritmus pre výpočet faktoriálu a premennú použiť pre rekurzívne argumentu :
int total_factorial = 0 :
3
Určte štruktúru slučky . V C + + , napríklad , " , zatiaľ čo " loop funguje dobre s iterácií , ktoré majú indeterminant dĺžku . " V " slučky , na druhej strane , pracuje dobre , keď sa slučka ísť prísne dobu , zastúpené celé číslo nejakého druhu . Pre faktoriálu Napríklad , " pre " bude slučka funguje dobre :
int faktoriál = 5 ; int total_factorial = 0 ;
4
Určite je zastavenie podmienok . Obvykle sa ako v príklade faktoriál , rekurzia sa ukončí , keď je splnená podmienka . V Interative slučke , ako pre sláčiky , je dobré vedieť pred rúk . Vzhľadom k tomu, že pri hľadaní faktoriál čísla " n" , že budete iterácii n - 1 krát ( okrem nuly ) , môžete začať na jednom a potrvá až do faktoriálu čísla :
for ( int i = 1 ; i < = faktoriál , i + + ) { if ( i == 1 ) { total_factorial = 1 ; } else { celkom faktoriál * = i ; } }