20200225之数列求值(填空)

标题:数列求值 (本题总分:10 分)###
给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求
第 20190324 项的最后 4 位数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个 4 位整数(提示:答案的千位不为 0) ,在提交答案时只填写这个整数,填写多余的内容将无法得分。

这个问题确实没想出来,单纯认为开数组但是开数组又肯定达不到要求,开不到这么大,然后就不知道怎么办了。
其实根本不用开数组,只要设目标数字然后一位一位后移就可。有时候想问题就要换一个思路。
下面是AC代码:

#include <bits/stdc++.h>
using namespace std;
int fun(int n){
	int a=1,b=1,c=1;
	int ans;
	for(int i=4;i<=n;i++){
		ans=(a+b+c)%1000;
		a=b;
		b=c;
		c=ans;
	}
	printf("%d\n",ans);
}
int main(){
	int n; 
	cin>>n;
	fun(n);
	return 0;
}
发布了37 篇原创文章 · 获赞 0 · 访问量 392

猜你喜欢

转载自blog.csdn.net/weixin_45351699/article/details/104539730