思路:本题是fibnacci数列的变题,如果用暴力解决可能会超时出错,这里可以思考用动态规划来做。
最后取每个数的最后4位数即可。
注意:用A的后四位数来加上B的后四位数,不会影响A和B结果的后四位数。
举例:462354+765432=1227786 345986+4423675=4769661
本题答案:4659
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
int a, b, c;
a = 1, b = 1, c = 1;
for(int i = 4; i <= 20190324; i += 3)
{
a = (a + b + c) % 10000;
b = (a + b + c) % 10000;
c = (a + b + c) % 10000;
}
if(20190324 % 3 == 0) cout << c << endl;
else if(20190324 % 3 == 1) cout << a << endl;
else if(20190324 % 3 == 2) cout << b << endl;
return 0;
}