第三题:数列求值(10分)
题目描述
给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。求
第20190324项的最后4位数字。
题目分析
用数组保存三项值,通过对3取余依次将数字加上去。应为保留最后四位数字,所以每次计算过后需要用10000取余,不然会溢出
代码:
#include<stdio.h>
int main()
{
int a[3]={1,1,1};
int index=4;//从第四项开始
while(index<=20190324)
{
a[index%3]=a[0]+a[1]+a[2];
a[index%3]=a[index%3]%10000;
index++;
}
index--;//第20190324项是a[20190323]
printf("%d\n",a[index%3]);
return 0;
}