2022年6月30日 星期四

遞迴函數介紹(以費式數列為例)

 /*

 Fibonacci Sequence

 費式數列 :1 1 2 3 5 8 13 24 34 55 89 ....?

 第n項     1 2 3 4 5 6  7  8  9 10 11 ....n

 規則:

 第1項為1

 第2項為1

 第3項=第2項(前項)+第1項(前前項)  

 第4項=第3項+第2項 

 ...

 第n項(第3項為前2項之和)=第n-1項+第n-2項 

*/

#include <stdio.h>

#include <stdlib.h>

int F(int n)

{

if(n==1 || n==2) 

   return 1;

else 

   return F(n-1)+F(n-2);

   /*n=4

      F(3) +F(2)

   /     

     F(2)+F(1)

       1 +  1

   */

}

int main(int argc, char *argv[])

{

int n;

scanf("%d",&n);

int ans=F(n);

printf("%d\n",ans);

return 0;

}

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...