菲波那契数列,求第k个数的值
题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子成长到第三个月后每个月又生一对兔子,假如兔子不死,问每个月兔子的总数是多少?
1 //菲波那契数列,输出第k个数的值 2 #define _CRT_SECURE_NO_WARNINGS 3 #include <stdio.h> 4 5 int FibonacciNum(int n){ 6 if (n < 0){ 7 return -1; 8 } 9 if (n == 0){ 10 return 0; 11 } 12 else if (n == 1){ 13 return 1; 14 } 15 else { 16 return(FibonacciNum(n - 1) + FibonacciNum(n - 2)); 17 } 18 } 19 20 int main(){ 21 int num; 22 if (scanf("%d", &num)){ 23 if ((num >= 0) && (num <= 50)){ 24 printf("%d", FibonacciNum(num)); 25 } 26 else{ 27 printf("error!"); 28 return 0; 29 } 30 } 31 else{ 32 printf("error!"); 33 return 0; 34 } 35 return 0; 36 }
结果如下