ACM Fibonacci数列

Fibonacci数列

Time Limit: 5000ms, Special Time Limit:10000ms, Memory Limit:32768KB
Total submit users: 413, Accepted users: 400
Problem 10466 : No special judgement
Problem description
裴波那契(Fibonacci leonardo,约1170-1250)是意大利著名数学家.在他的著作《算盘书》中许多有趣的问题,最富成功的问题是著名的“兔子繁殖问题”: 如果每对兔子每月繁殖一对子兔,而子兔在出生后第二个月就有生殖能力,试问一对兔子一年能繁殖多少对兔子?可以这样思考:第一个月后即第二个月时,1对兔子变成了两对兔子,其中一对是它本身,另一对是它生下的幼兔. 第三个月时两对兔子变成了三对,其中一对是最初的一对,另一对是它刚生下来的幼兔,第三对是幼兔长成的大兔子.第四个月时,三对兔子变成了五对,第五个月时,五对兔子变成了八对,按此方法推算,第六个月是13对兔子,第七个月是21对兔子……,裴波那契得到一个数列,人们将这个数列前面加上一项1,成为“裴波那契数列”,即:1,1,2,3,5,8,13….出人意料的是,这个数列在许多场合都会出现,在数学的许多不同分支中都能碰到它.世界上有关裴波那契数列的研究文献多得惊人,裴波那契数列不仅是在初等数学中引人入胜,而且它的理论已广泛应用,特别是在数列、运筹学及优化理论方面为数学家们展开了一片施展才华的广阔空间。

给定一个十进制正整数n,计算Fibonacci数列的第n项。

Input

输入包含多组测试数据。

每组数据占一行,仅包含一个整数n(1≤n≤40)最后一行为整数-1代表输入结束,不需要做处理。

Output

对于每组测试数据,输出结果,换行。

Sample Input

2
15
25
-1

Sample Output

1
610
75025

#include <iostream>
#include<stdio.h>

using namespace std;
int Fibonacci(int n)
{
   int fib=0;
   if(n==1||n==2)
       fib=1;
   else
       fib=Fibonacci(n-1)+Fibonacci(n-2);
   return fib;

}
int main()
{
   int num;
   while(cin>>num)
   {
       if(num==-1)
           return 0;
       printf("%d\n",Fibonacci(num));
   }

   return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值