当前位置: 首页 > news >正文

蓝桥杯第十届 数列求值

题目描述

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

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

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


  1. 模运算的分配律
    根据模运算性质,有:

    (a + b + c) mod m = [(a mod m) + (b mod m) + (c mod m)] mod m

    因此,无论先计算总和再取模,还是每一步都取模,最终结果一致。

  2. 防止溢出的必要性
    原始数列增长极快(类似三阶斐波那契),第20190324项的值远超long long的范围(约±9e18)。不取模会导致数值溢出,得到错误结果。

 

#include<iostream>
using namespace std;

int a[20200000]={0, 1, 1, 1}; //这里不能用long long,会超时 
int ans;

const int MOD = 10000;

int main()
{	
	for(int i=4; i<=20190324; ++i)
	{
		//每一步都取模防止溢出
		a[i] = (a[i-1] + a[i-2] + a[i-3]) % MOD;
	}
	
	ans = a[20190324]%MOD;
	
	cout<<ans;
	
	return 0;
}

相关文章:

  • c++进阶--哈希表的实现
  • element-plus中el-empty空盒子组件和Collapse 折叠面板组件的使用
  • 第十七章:Future Directions_《C++ Templates》notes
  • java 线程创建Executors 和 ThreadPoolExecutor 和 CompletableFuture 三者 区别
  • 数据库查询练习
  • ASP.NET Web API + VUE3 整合阿里云OSS,后端API生成预签名上传Url,前端VUE进行上传
  • 蓝桥杯第 十一天 国赛 2020 第 2题 扩散
  • CVE-2021-45232未授权接口练习笔记
  • conda环境下解决gitk乱码模糊
  • Postman使用02、断点、fiddler弱网测试
  • Java 基于微信小程序的开放实验室预约管理系统
  • 从单机到集群:Elasticsearch集群搭建指南
  • HTML5 初探:新特性与本地存储的魔法
  • IP-guard与Ping32哪个加密更强?两款加密软件的安全架构解析
  • 专访中兴通讯蒋军:AI数字人驱动企业培训,“内容生产”与“用户体验”双重提升
  • 第十节 MATLAB逻辑运算
  • 深入 SVG:矢量图形、滤镜与动态交互开发指南
  • 【微服务】SpringCloudGateway网关
  • 【开源宝藏】30天学会CSS - DAY8 第八课 跳动的爱心动画
  • 嵌入式八股文学习——基类构造与析构、成员初始化及继承特性详解
  • 深圳贸易网站开发/百度数据分析工具
  • 外贸网站源码怎么建/产品推广的目的和意义
  • 苏州网络推广网站建设/百度在线客服系统
  • b2b外贸网站有哪些/b2b关键词排名工具
  • 用java做的游戏下载网站有哪些/如何设计一个网页
  • 怎么自己做淘客网站/百度 营销推广怎么操作