【难度:简单】
【考点:斐波那契数列衍生】
给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。
求 第20190324项的最后4位数字。
C++代码题目分析 用数组保存三项值,通过对3取余依次将数字加上去。
应为保留最后四位数字,所以每次计算过后需要用10000取余,不然会溢出
#include
#include
using namespace std;
//给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。
求
//第20190324项的最后4位数字。
//此题若使用递归式的解法,内存不足
int main(){
int a=1,b=1,c=1,d=0;
for(int i=3;i<20190324;i++){
d = a+b+c;
d = d % 10000;
a = b;
b = c;
c = d;
}
cout<<d;
return 0;
}
运行结果
- 4659
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)