1.简单题意
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。
2.解题思路
通过找规律发现这是一个斐波那次数列,这个题简单,但是还有陷阱,到最后的数据非常大,用int数组没法输出正确答案,所以我用的是long long数组
3.感想
开始一直报错,我以为是程序的错误,后来发现不是,通过输出数组数据,发现数据大于一定值就不正确,确定了错误的地方,简单的题也许不像表面那么简单
4.AC代码
#include<iostream>
using namespace std;
long long result(int n)
{
__int64 re[51] = { 0 };
re[0] = 1; re[1] = 1; re[2] = 2;
for (int i = 2; i < 50; i++)
{
re[i] = re[i - 1] + re[i - 2];
}
return re[n];
}
int main()
{
long long result(int n);
int m,n,o,j;
long long add;
cin >> m;
for (int i = 0; i < m; i++)
{
cin >> n >> o;
j = o - n;
add = result(j);
cout << add << endl;
}
return 0;
}