蓝桥杯真题 数列求值 c++代码实现 给定数列 1, 1, 1, 3, 5, 9, 17, ···从第 4 项开始,每项都是前 3 项的和。 求第 20190324项的最后 4 位数字。

蓝桥杯真题 数列求值 c++代码实现 给定数列 1, 1, 1, 3, 5, 9, 17, ···从第 4 项开始,每项都是前 3 项的和。 求第 20190324项的最后 4 位数字。,第1张

蓝桥杯真题 数列求值 c++代码实现 给定数列 1, 1, 1, 3, 5, 9, 17, ···从第 4 项开始,每项都是前 3 项的和。 求第 20190324项的最后 4 位数字。 题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

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

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

运行限制

最大运行时间:1s
最大运行内存: 128M

结果
4659
代码
#include 
using namespace std;
int main()
{
    int a, b, c, d;
    a = b = c = 1;
	for (int i = 4; i <= 20190324; i++)
	{
		d = (a + b + c) % 10000;
		a = b;
		b = c;
		c = d;
	}
    cout << d << endl;
    return 0;
}
思路

类似于斐波那契数列,只需要循环计算即可,关键在于数据太大会溢出,所以就需要对每次计算出来的数进行取余的 *** 作,这样可以保证数据的长度始终为4,不会溢出。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存