题目描述
给定数列1, 1, 1, 3, 5, 9, 17, …,从第4 项开始,每项都是前3 项的和。求
第20190324 项的最后4 位数字。
【题解】:思路很简单,也很容易去想。但是算这么多次一定会爆long long 的,所以要取余计算。(好像知道当年怎么跌倒的了)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int a[30000000];
int main()
{
a[1]=1;
a[2]=1;
a[3]=1;
for(int i=4;i<=29999999;i++)
{
a[i]=(a[i-1]%10000+a[i-2]%10000+a[i-3]%10000)%10000;
}
cout<<a[20190324]<<endl;
}