蓝桥杯常考的找规律题
目录
灵感来源:
B站视频链接:
找规律题具有什么样的特点:
报数游戏(Java组):
题目描述:
题目链接:
思路详解:
代码详解:
阶乘求和(Java组):
题目描述:
题目链接:
前置知识:
思路详解:
代码详解:
数字诗意(C/C++组):
题目描述:
题目链接:
思路详解:
代码详解:
平方差(C/C++组):
题解链接:
灵感来源:
这篇博客相当于一个题解合集,灵感来源于B站UP主“溶金落梧桐”,视频标题为“蓝桥杯常考的找规律题,学会思路轻松拿捏”。这个UP主是我在考试前刷到的,这位大佬分享了很多蓝桥杯的学习视频,大家可以去B站了解学习。下面我会把视频链接附上,建议大家自行观看视频学习,我的博客主要是对代码进行了整理合集,也算是自己拿来复习总结的资料
温馨提示:这里面的题目包含C/C++组,Java组以及Python组的题目,但是我这里全部都是用C/C++的方法写的题解
B站视频链接:
【蓝桥杯常考的找规律题,学会套路轻松拿捏】
找规律题具有什么样的特点:
数据非常大,通常大于10^8,看上去非常吓人,肯定暴力跑不出来
找规律题的两个特性:
1.周期性(结果在固定后重复)
2.答案符合某种递推式
报数游戏(Java组):
题目描述:

题目链接:
蓝桥云课 报数游戏
思路详解:
找规律,先尝试写出序列中的前100项,具体可以结合代码看,代码注释的非常具体
代码详解:
#include<bits/stdc++.h> //蓝桥杯常考的找规律题,特点:数据非常大,通常大于10^8,看上去非常吓人,肯定
using namespace std; //暴力跑不出来
//这题要求满足题目要求的第202420242024个数是多少,这个数据大约为2*10^11,真暴力用电脑跑得3000s左右
//而且考试的机子比自己的电脑更慢
int main()
{printf("2429042904288");return 0;
}
//该怎么办呢? 找规律,先尝试写出序列中的前100项
//int ans; ans用于记录当前枚举到第几个数,用于终止枚举
//
//int main()
//{
// for(int i=1;;i++)
// {
// if(ans==100)
// {
// return 0;
// }
// if(i%20==0||i%24==0)
// {
// cout<<i<<endl;
// ans++;
// }
// }
//}
//20 24 40 48 60 72 80 96 100 120 140 144 160 168
//找规律发现第偶数位都是24的倍数,第2位是24,第4位是48,第6位是72
//可以总结出第i(i是偶数)位是24*(i/2),所以第202420242024位是24*101210121012=2429042904288
阶乘求和(Java组):
题目描述:

题目链接:
蓝桥云课 阶乘求和
前置知识:
1.如何求阶乘的和?定义fac来维护i的阶乘,用ans累加求和
题目链接:
B2153 求阶乘的和 - 洛谷
代码:
#include<bits/stdc++.h>
using namespace std;int n;
int ans;int main()
{cin>>n;int fac=1; //用fac来维护i的阶乘 for(int i=1;i<=n;i++){fac=fac*i;ans+=fac;}cout<<ans<<endl;return 0;
}
2.阶乘尾零:对于n!,随着n变大,n!末尾的0一定越多。题目要求202320232023!的末尾9位数字,这个数据范围是2*10^11,显然暴力做不了,如果知道阶乘尾零的性质,就可以知道其实n大到某一个程度之后再增大末尾9位数字是不变的
3.模运算的加法分配律:(a+b)%p=(A%p+b%p)%p,为什么要用到模运算的加法分配律,因为当计算阶乘之和时,阶乘的值会迅速增大,可能会爆long long导致溢出错误
思路详解:
数据范围是2*10^11,显然暴力做不了,如果知道阶乘尾零的性质,就可以知道其实n大到某一个程度之后再增大末尾9位数字是不变的
如果不知道阶乘尾零的性质,就先尝试前100项再找规律
代码详解:
#include<bits/stdc++.h> //蓝桥杯常考的找规律题
using namespace std; //有个东西叫阶乘尾零:对于n!,随着n变大,n!末尾的0一定越多
//题目要求202320232023!的末尾9位数字,这个数据范围是2*10^11,显然暴力做不了,如果知道阶乘尾零的性质,
//就可以知道其实n大到某一个程度之后再增大末尾9位数字是不变的int main()
{printf("420940313");return 0;
}
//如果不知道阶乘尾零的性质,就先尝试前100项再找规律
//题目求阶乘末尾的9位数字怎么办? %1e9即可
//模运算的加法分配律:(a+b)%p=(A%p+b%p)%p,为什么要用到模运算的加法分配律,因为当计算阶乘之和时,阶乘
//的值会迅速增大,可能会爆long long导致溢出错误
//int main()
//{
// long long x=1e9;
// long long ans=0;
// long long fac=1; 定义fac是为了维护i的阶乘
// for(int i=1;i<=100;i++)
// {
// fac=(fac*i)%x; fac=fac*i; 实际上先求阶乘之和再取模可能会爆long long导致溢出错误
// ans=(ans+fac)%x; ans+=fac;
// cout<<ans<<endl; ans%=x; 在取模之前可能ans就已经溢出了,所以输出结果会出现负数
// } cout<<ans<<endl;
// return 0;
//}
//通过输出可以发现规律,到后面n越来越大的时候,后9位数字其实都一模一样,更不用说n=202320232023了
//如何理解代码中模运算的加法分配律的使用:
//fac=fac*i表示求单个阶乘 eg:1! 2! 3! 4!
//fac=(fac*i)%1e9表示每个单个阶乘取模于1e9 eg:(1!)%1e9 (2!)%1e9
//ans+=fac表示把单个阶乘加起来求和,即阶乘之和 eg:1!+2!+3!+4!
//fac=(fac*i)%1e9和ans=(ans+fac)%1e9表示之前的结果加上单个阶乘取模于1e9的整体再取模于1e9
//即i=1时,ans=(1!%1e9)%1e9 i=2时ans=((1!%1e9)%1e9+(2!%1e9))%1e9
数字诗意(C/C++组):
题目描述:


题目链接:
P10900 [蓝桥杯 2024 省 C] 数字诗意 - 洛谷
数字诗意 - 蓝桥云课
思路详解:
先暴力写个100项看看有没有什么规律,代码里注释的很详细,结合代码看就行
代码详解:
#include<bits/stdc++.h> //蓝桥杯常考的找规律的题,一看题目数据ai最大为10^16,就想一下能不能规律
using namespace std; //先暴力写个100项看看有没有什么规律 const int N=2e5+10; //开大一点,防止数字越界 int n;
long long a[N]; //由题ai最大为10^16,会爆int,所以开long long
int ans; //由题ans记录要删除的数字个数,找规律发现要删的是2的幂次方,由于指数爆炸所以ans开int就行 int main()
{cin>>n;for(int i=0;i<n;i++){scanf("%lld",&a[i]);int x=log2(a[i]); //对a[i]进行以2为底的对数运算,int x所以x取的是运算结果的整数部分 if((long long)1<<x==a[i]) //1<<x表示将1左移x位,即2^x的幂运算 { //2^x可能会爆int,开个强制类型转换再判断是否等于a[i] ans++; //等于a[i]就说明log2(a[i])就是没有小数部分,即a[i]就是2的幂次方 }}cout<<ans<<endl;return 0;
}
//bool check(int x)
//{
// for(int i=1;i<x;i++) //i表示的是从i开始枚举连续的正整数,i=5表示从5开始枚举
// {
// int sum=0; //每次从i开始枚举都要定义sum=0
// for(int j=i;j<x;j++) //j表示的是枚举的正整数,这个for循环是枚举连续正整数求和的过程
// {
// sum+=j; //每枚举一个数就加到sum
// if(sum==x) //每枚举一个数就判断sum,如果sum==x表示x可以用至少两个连续的正整数表示
// {
// return true;
// }
// }
// }
// return false;
//}
//
//int main()
//{
// for(int i=3;i<=10000;i++) //由题1和2不能用至少两个连续的正整数相加,所以从3开始
// {
// if(check(i)==false) //false表示不能用至少两个连续的正整数相加
// {
// cout<<i<<' '; //把不满足要求的输出来看看有没有规律
// }
// }
// return 0;
//}
//i<=100中不能用至少两个连续的正整数相加的是4 8 16 32 64 好像是2的幂次方就不满足,再多枚举一点试试
//i<=1000中不能用至少两个连续的正整数相加的是4 8 16 32 64 128 256 512
//i<=10000,4 8 16 32 64 128 256 512 1024 2048 4096 8192 跑了75s出结果
平方差(C/C++组):
这题之前已经写了一篇很详细的题解,还包括平方差结论,平方差结论拓展的补充题目,下面直接附上链接
题解链接:
第十四届蓝桥杯 2023 C/C++组 平方差-CSDN博客
蓝桥村的真相(Python组):
题目描述:



题目链接:
P11003 [蓝桥杯 2024 省 Python B] 蓝桥村的真相 - 洛谷
蓝桥村的真相 - 蓝桥云课
思路详解:
这题不像之前几题那样暴力前100项找规律,因为确实满足要求的判断也比较难写。实际这题是直接通过分析来找规律的,分析过程看草稿纸图片

代码详解:
#include<bits/stdc++.h> //蓝桥杯常考的找规律题,数据范围n<=10^18非常大,暴力一定超时,一定要找规律
using namespace std; //这题不像之前几题那样暴力前100项找规律,因为确实满足要求的判断也比较难写 //实际这题是直接通过分析来找规律的,分析过程看草稿纸图片
const int T=1e5+10;
const long long N=1e18+10;int t;int main()
{cin>>t;while(t--){long long n;scanf("%lld",&n);if(n%3==0) //当n能整除3时,答案为2*n {printf("%lld\n",2*n);}else //当n不能整除3时,答案为n {printf("%lld\n",n);}}return 0;
}
相关文章:
蓝桥杯常考的找规律题
目录 灵感来源: B站视频链接: 找规律题具有什么样的特点: 报数游戏(Java组): 题目描述: 题目链接: 思路详解: 代码详解: 阶乘求和(Java组…...
MySQL_MCP_Server_pro接入cherry_studio实现大模型操作数据库
大模型直接与数据库交互,实现基本增删改查操作。首先贴下代码地址: https://github.com/wenb1n-dev/mysql_mcp_server_pro 安装环境:win10 1、下载代码 git clone https://github.com/wenb1n-dev/mysql_mcp_server_pro 2、使用conda创建…...
Element UI、Element Plus 里的表单验证的required必填的属性不能动态响应?
一 问题背景 想要实现: 新增/修改对话框中(同一个),修改时“备注”字段非必填,新增时"备注"字段必填 结果发现直接写不生效-初始化一次性 edit: [{ required: true, message: "请输入备注", trigger: "blur" }…...
Spark-Streaming
WordCount案例 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"…...
transformer 子层连接结构
子层连接结构 目标 了解什么是子层连接结构掌握子层连接结构的实现过程 什么是子层连接结构? 输入到每个子层以及规范化层的过程中, 使用了残差连接(跳跃连接, 从Add&Norm -> Add&Norm), 因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构), 在每个…...
linux oracle 19c 静默安装
oracle数据库有个比较很抓瞎的事情,不同的版本搭建的大致流程是一样的,但是在实操细节上会有不同,比如操作的脚本位置和配置项等等,这些会变,所以需要时常积累不同版本的文档 这里有一点要说明,之所以使用…...
C++ 的 输入输出流(I/O Streams)
什么是输入输出流 C 的输入输出操作是通过 流(stream) 机制实现的。 流——就是数据的流动通道,比如: 输入流:从设备(如键盘、文件)读取数据 → 程序 输出流:程序将数据写入设备&…...
mybatis-plus开发orm
1、mybatis 使用mybatis-generator自动生成代码 这个也是有系统在使用 2、mybatis-plus开发orm--有的系统在使用 MybatisPlus超详细讲解_mybatis-plus-CSDN博客...
使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧为JPG图片
使用PythonOpenCV将多级嵌套文件夹下的视频文件抽帧为JPG图片 import os import cv2 import time# 存放视频文件的多层嵌套文件夹路径 videoPath D:\\videos\\ # 保存抽帧的图片的文件夹路径 savePath D:\\images\\if not os.path.exists(savePath):os.mkdir(savePath) vide…...
电子电器架构 --- DFMEA设计失效模式和后果分析
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...
C#抽象类和虚方法的作用是什么?
抽象类 (abstract class): 不能直接实例化,只能被继承。 用来定义一套基础框架和规范,强制子类必须实现某些方法(抽象方法)。 可用来封装一些共通的逻辑,减少代码重复。 虚方法 (virtual): …...
C#获取当前方法的命名空间、类名称、方法名称以及方法的参数信息
C#获取当前方法的命名空间、类名称、方法名称以及方法的参数信息 输出示例模块示例 输出示例 获取信息:WindowsFormsApp1.Form1.button1_Click(System.Object sender,System.EventArgs e) 引发的异常:“System.IndexOutOfRangeException”(位于 WindowsFormsApp1.ex…...
Apache SeaTunnel:新一代开源、高性能数据集成工具
Apache SeaTunnel 是一款开源、分布式、高性能的数据集成工具,可以通过配置快速搭建数据管道,支持实时海量数据同步。 Apache SeaTunnel 专注于数据集成和数据同步,主要旨在解决数据集成领域的常见问题: 数据源多样性:…...
python+selenium+pytest自动化测试chrome driver版本下载
chrome浏览器chromedriver版本下载地址 https://googlechromelabs.github.io/chrome-for-testing/#stable...
3.1 WPF使用MaterialDesign的介绍1
MaterialDesignInXAML Toolkit 是一个流行的开源 C# WPF 控件库,它实现了 Google 的 Material Design 规范,让开发者可以轻松创建现代化的 WPF 应用程序界面 Material Design 是一个流行的设计语言,由 Google 开发,旨在帮助开发者构建美观且一致的 UI 界面。对于使用 C# 的…...
从 0 到 1 打通 AI 工作流:Dify+Zapier 实现工具自动化调用实战
一、引言:当 AI 遇到工具孤岛 在企业数字化转型的浪潮中,AI 工具的应用早已从单一的对话交互进阶到复杂的业务流程自动化。但开发者常常面临这样的困境:本地开发的 MCP 工具(如 ERP 数据清洗脚本、CRM 工单系统 API)如…...
【算法笔记】如何优雅的进行字符串操作
最近的CCCC天梯赛又出了非常恶心的字符串题~ 在编程竞赛(特别是CCCC天梯赛)中,字符串操作类题目往往看似简单却暗藏陷阱。本文将以Python、Java、C 三剑客为例,总结高频字符串操作的优雅实现方案,助你快速攻克字符串类…...
docker转移镜像
1、场景 有网络环境向无网络环境转移镜像。无法拉取的镜像(外网无法访问)下载镜像转移到服务器上。 2、docker转移 2.1 镜像服务器 保存镜像 列出项目使用的所有镜像 docker images 保存所有镜像为 tar 文件 保存docker镜像 docker save -o my_…...
【Rust 精进之路之第12篇-生命周期·入门】为何需要与显式标注 (`‘a`):让编译器读懂引用的“有效期”
系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025-04-20 引言:悬垂引用的“幽灵”与编译器的“侦探” 在前面的章节中,我们深入学习了 Rust 的所有权系统,以及如何通过引用 (& 和 &mut) 进行借用,从而在不转移所有权的情况下安…...
Vue.js 之 `v-for` 命令详解
Vue.js 之 v-for 命令详解 在 Vue.js 中,v-for 是一个非常强大的指令,用于遍历数组或对象中的数据,并渲染相应的 DOM 元素。无论是在列表展示、表单生成还是动态组件加载中,v-for 都发挥着重要作用。本文将详细介绍 v-for 的用法…...
Spring Boot中`logging.config`配置项的详解及使用说明
以下是Spring Boot中logging.config配置项的详解及使用说明: 1. logging.config 作用 功能:指定自定义日志配置文件的路径,覆盖Spring Boot默认的日志配置。适用场景:当需要深度定制日志行为(如输出格式、文件路径、…...
相机模型--CMOS和CCD的区别
1--CMOS和CCD的工作原理 CCD(Charge Coupled Device,电荷耦合器件): 1. 图像通过光电效应在感光单元中转化为电荷; 2. 每个像素上的电荷被依次“耦合”并传输到芯片的角落,通过一个或几个模拟输出放大器输…...
el-date-picker时间范围 赋值报错问题
问题: 点击时间范围组件右边清除图标,点击近6小时会把设置好的时间赋值给时间范围组件 但是出现报错 原因: 尝试对null值进行属性设置操作:修改一个数组的元素,但此时这个数组是null,而不是预期的数组类型…...
为啥低速MCU单板辐射测试会有200M-1Ghz的辐射信号
低速MCU(如8位或16位单片机)单板在辐射测试中出现 200MHz~1GHz的高频辐射信号,看似不合理,但实际上是由多种因素共同导致的。以下是详细原因分析及解决方案: 1.根本原因分析: (1) 时钟谐波与开关噪声 低速MCU的时钟谐…...
【音视频】FFmpeg解封装
解封装 复用器,比如MP4/FLV 解复用器,MP4/FLV 封装格式相关函数 avformat_alloc_context(); 负责申请一个AVFormatContext结构的内存,并进行简单初始化avformat_free_context(); 释放该结构里的所有东西以及该结构本身avformat_close_input();关闭解复…...
使用VHDL语言实现TXT文件的读写操作
使用FPGA进行图像处理时,通常需要将TXT文件中的图像数据读出到TestBench中,并将仿真的结果写入到TXT文件中,用于确认图像处理的结果是否正确。 VHDL中TXT文件的读写操作如下所示, --------------------------------------------…...
OpenLDAP 管理 ELK 用户
文章目录 一、新建 ELK 相关用户组二、配置 Elasticsearch2.1 修改 elasticsearch.yml 配置2.2 使用 API 接口建立角色和用户映射 三、Kibana 验证用户登录 一、新建 ELK 相关用户组 由于后续要将 LDAP 的用户与 ELK 的角色进行映射,所以需先创建几个以 ELK 的角色…...
第十七届“华中杯”大学生数学建模挑战赛题目A题 晶硅片产销策略优化 完整成品 代码 模型 思路 分享
近年来,高纯度晶硅片需求的增长引发了更激烈的市场竞争。晶硅片企业需要在成本控制、利润优化和供需管理之间取得平衡,以提高经营效率和市场竞争力。晶硅片的生产是一个高能耗、高成本的过程,企业效益会受到原材料价格波动、市场需求变化以及…...
iOS 中的虚拟内存 (理解为什么需要虚拟内存)
什么叫“虚拟地址空间”? 一句话:它是 CPU 看得见、App 以为自己独享,但实际上会被内核和硬件(MMU)动态翻译到真实 物理内存 的一整块“虚拟地图”。 1. 背景:为什么要“虚拟”? 需求虚拟地址空…...
网络层理解
网络层理解 网络层是 OSI 模型的第三层,主要负责 跨网络的数据传输,核心任务是 路由选择 和 分组转发。 网络层核心功能 网络层关键协议 协议作用示例IP (IPv4/IPv6)数据包路由和寻址192.168.1.1ICMP网络状态检测和错误报告ping、tracerouteOSPF/BGP动…...
