Fibonacci数列

2322阅读 0评论2012-07-30 hml1006
分类:C/C++

Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:「若有一只免子每个月生一只小免
子,一个月后小免子也开始生产。起初只有一只免子,一个月后就有两只免子,二个月后有三
只免子,三个月后有五只免子(小免子投入生产)......。
如果不太理解这个例子的话,举个图就知道了,注意新生的小免子需一个月成长期才会投入生
产,类似的道理也可以用于植物的生长,这就是Fibonacci数列,一般习惯称之为费氏数列,例
如以下: 1、1 、2、3、5、8、13、21、34、55、89......

依说明,我们可以将费氏数列定义为以下:
fn = fn-1 + fn-2  if n > 1
fn = n            if n = 0, 1



点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int fibo(int n)
  4. {
  5.     if(n < 0) {
  6.         printf("The number can't below 0 !!!\n");
  7.         exit(-1);
  8.     }
  9.     if(n == 0 || n == 1) {
  10.         return n;
  11.     } else {
  12.         return fibo(n-1) + fibo(n-2);
  13.     }
  14. }

  15. int main(void)
  16. {
  17.     int sum;
  18.     int n;
  19.     printf("Please input n: ");
  20.     scanf("%d", &n);

  21.     sum = fibo(n);
  22.     printf("sum = %d \n", sum);
  23.     return 0;
  24. }

gcc -o fibo fibo.c
./fibo 
Please input n: 6
sum = 8 
上一篇:HTTP协议详解(真的很经典)
下一篇:Linux 下制作虚拟软盘镜像