蓝桥杯数列求值(2019试题C)

【问题描述】

给定数列1,1,1,3,5,7,17......从第4项开始,每项都是前3项的和。求第20190324项的最后4位数字。

【答案提交】

这是一道结果填空题,考生只需要计算出结果并提交即可。本题的结果为一个4位整数(提示:答案的千位不为0),在提交答案时只填写这个整数,填写多余内容将无法得分。

【参考答案】

4659

【题目解析】

该数列公式很容易让人想起斐波那契数列的递推法进行计算,递推公式为:

a[i] = a[i-1] + a[i-2] +a[i-3]

但要注意一个问题,那就是由于a[i]到后面会变得过大,从而超过long long所表示的范围,所以数组中只保留计算结果的后4位,这就需要在每次存放数据之前就对数据进行取余运算,只保留数据的后4位。

【参考程序如下】

cpp 复制代码
#include <iostream>
using namespace std;
int dp[20190324]; 
int main(int argc, char** argv) {
	int i;
	dp[0] = dp[1] = dp[2] = 1;
	for(i = 3; i < 20190324;i++)
	 dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3]) % 10000;
	 cout << dp[i - 1];
	return 0;
}

【运行结果如下】

相关推荐
小柯博客34 分钟前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十二)
c语言·stm32·单片机·嵌入式硬件·php·嵌入式
C++ 老炮儿的技术栈2 小时前
UDP 与 TCP 的区别是什么?
开发语言·c++·windows·算法·visual studio
殇者知忧2 小时前
【论文笔记】若干矿井粉尘检测算法概述
深度学习·神经网络·算法·随机森林·机器学习·支持向量机·计算机视觉
mochensage3 小时前
C++信息学竞赛中常用函数的一般用法
java·c++·算法
chengooooooo3 小时前
leetcode Top100 238. 除自身以外数组的乘积|数组系列
算法·leetcode
理智的灰太狼4 小时前
题目 3241: 蓝桥杯2024年第十五届省赛真题-挖矿
职场和发展·蓝桥杯
GUIQU.4 小时前
【每日一题 | 2025年6.2 ~ 6.8】第16届蓝桥杯部分偏简单题
算法·蓝桥杯·每日一题
weixin_527550405 小时前
初级程序员入门指南
javascript·python·算法
乄夜5 小时前
嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
c语言·c++·单片机·嵌入式硬件·物联网·面试·职场和发展
嘉陵妹妹6 小时前
深度优先算法学习
学习·算法·深度优先