遞歸,是我們編程時會用到的解決方法,他能讓我們的程序變得簡潔,並且能夠實現我們想要的效果,相對比迭代來說,遞歸會更加的直接,而我們所說的迭代就是我們說的循環,他能實現我們用遞歸做的事情,遞歸,通俗的來說就是自己調用自己,一直調用自己的方法,去實現我們想要的效果,下面用程序說明一下
程序如下:
1 #include<iostream> 2 3 using namespace std; 4 5 int factorial(int n); 6 int iterite(int n); 7 8 int main() 9 { 10 int n = 5; 11 int result,result1; 12 for(int i=0; i<=n; i++) 13 { 14 result = factorial(i); 15 cout << i << "!=" << result << endl; 16 } 17 result = factorial(n); 18 result1 = iterite(n); 19 cout << result << endl; 20 cout << result1 << endl; 21 return 0; 22 } 23 24 //遞歸 25 int factorial(int n) 26 { 27 if(n == 0) 28 return 1; 29 else 30 return n*factorial(n-1); 31 } 32 33 //迭代 34 int iterite(int n) 35 { 36 int num=1; 37 for(int i=n; i>0; i--) 38 num = num*i; 39 return num; 40 }