菲波那契数列,求第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 }

结果如下

posted @ 2017-09-27 20:42  盖盖chen  阅读(447)  评论(0编辑  收藏  举报