我们发现如果一项一项相加会造成结果过大从而答案错误,所以我们每次只需要取后四位经行计算即可
- #include
- using namespace std;
- int a[20190329];
- int main()
- {
- a[1] = 1, a[2] = 1, a[3] = 1;
- for(int i = 4; i <= 20190324; i ++)
- {
- a[i] = (a[i - 1] + a[i - 2] + a[i - 3]) % 10000;
- }
- cout << a[20190324] << '\n';
- }