【蓝桥杯】每天一题,理解逻辑(3/90)【Leetcode 快乐数】
闲话系列:每日一题,秃头有我,Hello!!!!!,我是IF‘Maxue,欢迎大佬们来参观我写的蓝桥杯系列,我好久没有更新博客了,因为up猪我寒假用自己的劳动换了台新电脑,没用父母的钱哦!!!,虽然进度慢了,但是值得,蓝桥杯快开始了,所以我也开始努力起来了。同时,我也欢迎各位大佬互三,看到我会及时回复的!!!
放一张阿刃在这,除大家的霉运

文章目录
- 题目解析
- 算法原理解析
- 具体解法
- 代码实现
题目解析

- 搞懂定义
对于一个正整数,每一次替换为它每个位置上的平方和。
举例:
- 19这个数字经过处理可以变成1,2这个数字变成了无限循环,
- 所以19是快乐数字,2就不是
- 判断最后的那一个环是否都是一
算法原理解析
我们仔细观察,在最后的结尾,
-
为快乐数的数字最后的结尾都是1,我们可以理解成一个园环。
-
非快乐数的数字最后结尾我们知道,肯定不是1,但是因为鸽巢原理我们会得出结论肯定成环。(不知道也没关系,下面有详细解析)
-
原理如图所示,上面的是快乐数,下面的数是非快乐数:

-
判断最后的环的数字是否都是1.
具体解法
- 解法 快慢双指针。
- 定义快慢指针
> - 慢指针每次后移一步,快指针每次后移两步 让慢指针一次进行一次操作,让快指针进行2次快乐数操作
- 判断相遇的值
- 直接判断相遇的值
- 鸽巢原理详解:
- 我们可是让慢指针执行一次,然后对于快指针每一次后移进行执行快乐数的两次操作
-
为什么这些数字不会一直铺开,为什么一定要成环?
证明原理:鸽巢原理 -
如果有n个巢,n+1个鸽子可以推论
-

证明这道题:
-
一个数字2.1 * 10^9

-
我们已经知道n个巢穴,n+1个鸽子,如果鸽子全部归位,至少有一个巢穴里面的鸽子大于1.
-
我们拿出9999999999这个数字,进行快乐数操作,
-
范围将会锁定在【1,810(9^2 * 10)】(这个就是巢穴),我们进行811次快乐数字操作(这个就是鸽子)
-
-
- 我们可是让慢指针执行一次,然后对于快指针每一次后移进行执行快乐数的两次操作
代码实现
int HappyC(int n)//快乐数的操作{ int x=0;int sum=0;while(n){x=n%10;sum=x*x+sum;n=n/10;}return sum;}bool isHappy(int n) {//定义两个快慢指针,用数字代替int fast=0;int slow=0;slow=n,fast=n;while(1){fast=HappyC(fast);fast=HappyC(fast);slow=HappyC(slow);if(fast==slow){if(fast==1){return true;}else{return false;}}}}
运行结果展示:

相关文章:
【蓝桥杯】每天一题,理解逻辑(3/90)【Leetcode 快乐数】
闲话系列:每日一题,秃头有我,Hello!!!!!,我是IF‘Maxue,欢迎大佬们来参观我写的蓝桥杯系列,我好久没有更新博客了,因为up猪我寒假用自己的劳动换了…...
深度学习Save Best、Early Stop
一、Save Best 今天的大模型,在训练过程中可能会终止,但是模型其实是可以接着练的,假设GPU挂了,可以接着训练,在原有的权重上,训练其实就是更新w,如果前面对w进行了存档,那么可以从…...
数据库与存储优化
一、MySQL深度优化 索引优化 B树索引结构 结构特点: 平衡多路搜索树,所有数据存储在叶子节点,非叶子节点仅存键值和指针。叶子节点通过双向链表连接,支持范围查询高效遍历。 优势: 减少磁盘IO(高扇出&#…...
Android15请求动态申请存储权限完整示例
效果: 1.修改AndroidManifest.xml增加如下内容: <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-perm...
C/C++蓝桥杯算法真题打卡(Day3)
一、P8598 [蓝桥杯 2013 省 AB] 错误票据 - 洛谷 算法代码: #include<bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 读取数据行数unordered_map<int, int> idCount; // 用于统计每个ID出现的次数vector<int> ids; …...
【数据结构与算法】Java描述:第二节:LinkedList 链表
一、链表的概念与结构 1.1 概念: 通俗的来说,链表是由一个个结点连接起来的就叫链表。 1.2 结构: 链表存储的数据 在 物理上是不一定连续的,它是由前面链接后面,一个个连起来的。 二、Java底层的 LinkedList 2.1…...
LLM run
lmstudio lmstudio ollama ollama N 卡使用自带UI gpu加速推理 ,选择满足条件的, ds模型选择列表 https://ollama.com/library/deepseek-r1 a卡当前支持的显卡型号 I卡 gpu加速配置 2025.3 intel Official project optimization https://www.modelscope.cn/m…...
k8s面试题总结(十)
1.为什么HDFS不适合存储小文件? 元数据存储在NameNode内存中,一个节点的内存是有限的。存储大量的小文件会消耗过多的寻道时间 同等大小一个大文件的访问速度一定比多个小文件访问速度快 3.NameNode存储block的数量是有限的 比如你一个block元数据需要消…...
android中activity1和activity2中接收定时消息
android中activity1和activity2中接收定时消息 业务类 import java.util.Timer; import java.util.TimerTask;public class MyAnager {private MyAnager() {}private static MyAnager instance;//回调接口onRecvTaskpublic interface OnMsgListener {void onRecvTask(String a…...
Non-Homophilic Graph Pre-Training and Prompt Learning
Non-Homophilic Graph Pre-Training and Prompt Learning KDD25 #paper/⭐# 目的:对异配图进行prompt 方法 邻居节点的综合嵌入 s v 1 ∣ V ( S v ) ∣ ∑ u ∈ V ( S v ) h u ⋅ s i m ( h u , h v ) , \mathbf{s}_{v}\frac{1}{|V(S_{v})|}\su…...
Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!
Ollama 是一款开源的本地大语言模型(LLM)运行框架,用于管理和运行语言模型。具有以下核心特点: 开源可定制:采用 MIT 开源协议,开发者能自由使用、阅读源码并定制,可根据自身需求进行功能扩展和…...
unittest框架 核心知识的系统复习及与pytest的对比
1. unittest 介绍 是什么:Python 标准库自带的单元测试框架,遵循 xUnit 架构(类似Java的JUnit)。 核心概念: TestCase:测试用例的基类,所有测试类需继承它。 TestSuite:测试套件&a…...
vue面试宝典之二
39.vue2和vue3中源码是如何解析模版的 new vue()的时候实例化了类之后根据传进去的option进行模版的类型div还是text还是啥进行匹配,同时拿到节点的值进行绑定,比如正则匹配{{}}将匹配到的变量拿去跟option中的data查找到具体的值…...
ESLint 深度解析:原理、规则与插件开发实践
在前端开发的复杂生态中,保障代码质量与规范性是构建稳健、可维护项目的基石。ESLint 作为一款强大的代码检查工具,其默认规则与插件能满足多数常见需求,但面对特定团队规范或项目独特要求,自定义 ESLint 插件便成为有力的扩展手段…...
洛谷P1091
题目如下 思路 谢谢观看...
随机树算法 自动驾驶汽车的路径规划 静态障碍物(Matlab)
随着自动驾驶技术的蓬勃发展,安全、高效的路径规划成为核心挑战之一。快速探索随机树(RRT)算法作为一种强大的路径搜索策略,为自动驾驶汽车在复杂环境下绕过静态障碍物规划合理路径提供了有效解决方案。 RRT 算法基于随机采样思想…...
江科大51单片机笔记【9】DS1302时钟可调时钟(下)
在写代码前,记得把上一节的跳线帽给插回去,不然LCD无法显示 一.DS1302时钟 1.编写DS1302.c文件 (1)重新对端口定义名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;(2)初始化 因为…...
ssm_mysql_暖心家装平台
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
一周学会Flask3 Python Web开发-SQLAlchemy简介及安装
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,…...
< 自用文儿 > DELETED 设置速读 in Ubuntu24
systemctl 和 DELETED: 配置文件: vi /etc/systemd/system/ DELETED.service [Unit] DescriptionV2Ray Service Documentation DELETED Afternetwork.target nss-lookup.target[Service] #Usernobody CapabilityBoundingSetCAP_NET_ADMIN CAP_NET_BIN…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...


> - 慢指针每次后移一步,快指针每次后移两步 让慢指针一次进行一次操作,让快指针进行2次快乐数操作