Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194925
  • 博文数量: 34
  • 博客积分: 130
  • 博客等级: 入伍新兵
  • 技术积分: 427
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-16 00:34
文章分类

全部博文(34)

文章存档

2013年(28)

2012年(6)

分类: C/C++

2012-07-30 12:30:47

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 
阅读(2238) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~