当前位置: 首页 > 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;
}
http://www.dtcms.com/a/90755.html

相关文章:

  • 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 第八课 跳动的爱心动画
  • 嵌入式八股文学习——基类构造与析构、成员初始化及继承特性详解
  • RAG核心概念
  • 蓝桥杯备考:差分数组+贪心Tallest Cow S
  • uv:Rust 驱动的 Python 包管理新时代
  • 里氏替换原则
  • SQL-查询漏洞
  • 通过国内源在Ubuntu20.0.4安装repo
  • 【时时三省】(C语言基础)用if语句实现选择结构
  • 多层感知机实现
  • Qt 线程类
  • 在普通用户下修改root用户密码