给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。求
第20190324项的最后4位数字。
#include<stdio.h>
int main()
{
int a, b, c,d;
a = b = c = 1;
int i = 1;
for (i = 4; i <= 20190324; i++)
{
d = (a + b + c)%10000;//a+b+c=d
a = b;
b = c;
c = d;
}
printf("%d", d);
return 0;
}
此问题难点在于若不在计算过程中加入%10000会溢出,且一开始将问题复杂化,应简易变量。