题目:
大家都很熟悉斐波那契数列吧? 也许不会求出斐波那契数列的任意项,但这道题只需要你输出斐波那契数列第 n 项的最后一位数就可以了!
输入格式:
一个不超过100,000的正整数。
输出格式:
在一行中输出第 n 项斐波那契数的尾数。
思路:
要求斐波那契数列的尾数,得先求出斐波那契数列。我们已知第一第二项,利用循环。比如第一次循环下一项为m(第3项),
再将a换为第2项,b换位第3项,再进行下一次循环求下一项。
因为一次循环求一项,第一次循环求得的值是第3项,所以令i为3,i=几就是第几项的斐波那契数列的值。
最后再%10就是斐波那契数列的尾数。
(如果n=1或n=2时都是1,所以不影响结果)
1.引入库
代码如下(示例):
#include<iostream>
using namespace std;
int main()
{
int n;
cin >>n;
int a=1,b=1;
int m;
for(int i=3;i<=n;i++)
{
m=a+b;
a=b;
b=m;
}
cout <<b%10;
return 0;
}