数列求值蓝桥杯

给定数列 1, 1, 1, 3, 5, 9, 17,⋯,从第 4项开始,每项都是前 3项的和。

求第 2019032420190324 项的最后 4位数字。

#include 
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	int i,j,n,a1,a2,a3,a4;
	cin>>n;
	a1=1,a2=1,a3=1;
	for(i=4;i<=n;i++)
	{
		a4=(a1+a2+a3)%10000;
		a1=a2;
		a2=a3;
		a3=a4;
	}
	cout<

分析:刚开始,分析题目,得知这是递推前三项和等于第四项,当项数少时,我们可以用几个字母来进行递推,以此减少空间复杂度,递推公式就为a4=a1+a2+a3

你可能感兴趣的:(蓝桥杯,蓝桥杯,p2p)