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

蓝桥杯 6. 冰雹数

冰雹数

原题目链接

题目描述

任意给定一个正整数 N

  • 如果是偶数,执行:N / 2
  • 如果是奇数,执行:N × 3 + 1

生成的新数字继续执行同样的动作,循环往复。

观察发现,这个数字会一会儿上升到很高,一会儿又降下来。就这样起起落落,但最终必定会落到 1

这种过程形象地被称为小冰雹数列

例如,当 N = 9 时,数列为:

9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

可以看到,小冰雹序列中最高冲到了 52


输入描述

  • 输入一个正整数 NN < 10⁶)。

输出描述

  • 输出一个正整数,表示 不大于 N 的所有数字,在冰雹数变换过程中,能达到的最大高度

输入输出样例

示例

输入

10

输出

52

c++代码

#include<bits/stdc++.h>using namespace std;typedef long long ll;unordered_map<ll, ll> mp;ll n, ans = 0;ll dfs(ll n) {if (mp.find(n) != mp.end()) return mp[n];ll res;if (n == 1) res = 1;else if (n % 2 == 0) res = max(n, dfs(n / 2));else res = max(n, dfs(3 * n + 1));mp[n] = res;return res;
}int main() {cin >> n;for (int i = 1; i <= n; i++) ans = max(ans, dfs(i));cout << ans;return 0;
}//by wqs

思路解析

要用map记录已经算出的值,不要算第二次,否则超时。

http://www.xdnf.cn/news/141787.html

相关文章:

  • Kohya-ss-gui v25.0.3 训练Flux.1 大模型命令参数
  • TDengine 数据缓存技术
  • Android 编译问题 prebuilts/clang/host/linux-x86
  • MTKAndroid13-Launcher3 屏蔽部分app不让显示
  • Jenkins Pipeline 构建 CI/CD 流程
  • RK3588芯片NPU的使用:yolov8-pose例子图片检测在安卓系统部署与源码深度解析(rknn api)
  • ASP.NET Core 自动识别 appsettings.json的机制解析
  • 网络准入控制系统:2025年网络安全的坚固防线
  • 解析excel中的图片
  • 深入解析YOLO v1:实时目标检测的开山之作
  • 观测云数据在Grafana展示的最佳实践
  • 【安全扫描器原理】TCP/IP协议编程
  • 在 Vue3 中封装的 Axios 实例中,若需要为部分接口提供手动取消请求的功能
  • 智慧医疗领域TMI期刊2025年3月研究热点解析
  • 【音视频】AVIO输入模式
  • 红队系列-网络安全知识锦囊-CTF(持续更新)
  • Mac「brew」快速安装Redis
  • 猫咪如厕检测与分类识别系统系列【十三】猫咪进出事件逻辑及日志优化【下】
  • 第六章 进阶06 读书群第一次团建
  • Kubernetes in action-初相识
  • 从StandardMaterial和PBRMaterial到PBRMetallicRoughnessMaterial:Babylon.js材质转换完全指南
  • linux 部署express项目,并使用pm2守护进程
  • yum包管理器
  • systemctl 命令详解与常见问题解决
  • .NET中,const和readonly区别
  • NLP高频面试题(五十五)——DeepSeek系列概览与发展背景
  • 自动清空 maven 项目临时文件,vue 的 node_modules 文件
  • Virtuoso ADE采用Spectre仿真中出现MOS管最小长宽比满足要求依然报错的情况解决方法
  • 【高频考点精讲】async/await原理剖析:Generator和Promise的完美结合
  • RTMP 入门指南