题目描述
给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。求
第20190324项的最后4位数字。
解:定义前三个变量,暴力递推,每次循环更新变量值;
最后四位数字是取余:本来打算先出结果再取余,考虑到int会爆栈,换做使用long long,结果依旧溢出。从而选择每次循环的时候取余
int a=1;//前三项 int b=1; int c=1; for(int i=4;;i++) { int tmp; tmp=(a+b+c)%10000; a=b; b=c; c=tmp; if(i==20190324) { cout<结果:
int溢出结果:
longlong溢出结果:
还是691
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)