基础算法--A一只小蜜蜂 裴波那契数列

本文介绍了一个基于斐波那契数列的算法实现,该算法用于计算蜜蜂从一个蜂房爬到另一个蜂房的不同路径数量。输入为一系列蜂房编号对,输出对应路径数。通过预计算斐波那契数列并使用__int64类型存储结果,确保了大数值运算的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


输入数据的第一行是一个整数N,表示测试实例的个数,然后是N行数据,每行包含两个整数ab(0<a<b<50)

 

Output

对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。

 

Sample Input

2

1 2

3 6

 

Sample Output

1

3

明显的裴波那契数列,每个蜂房都与标号相邻的两个蜂房相邻。则NUM(B)=NUM(B-1)+NUM(B-2),由裴波那契数列的性质

可得当n=50时F(n)特别大,所以此处不用int 改为__int64

 

#include<iostream>

using namespace std;

int main()

{

   _int64 a,b,n,i,f[50];

   f[0]=0;

f[1]=1;

f[2]=2;

      int k,j;

   cin>>n;

   for(i=3;i<50;i++)

   f[i]=f[i-1]+f[i-2];

   for(i=0;i<n;i++)

    {

       cin>>a>>b;

       cout<<f[b-a]<<endl;

    }

 

   return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值