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

背单词——冰雹猜想

小明正在为四级做准备,他计划至少背 n 个新单词。
为了完成这个目标,小明决定在每天结束前背一些新单词,具体来说:
第 1 天结束前,小明会背 m 个新单词;
第 i 天 (i≥2) 结束前,小明会根据第 i−1 天背的单词数计算第 i 天背多少个新单词。
假设小明在第 i−1 天背了 t 个新单词:
如果 t 是奇数,小明将会在第 i 天结束前背 3t+1 个新单词;
如果 t 是偶数,小明将会在第 i 天结束前背 2t 个新单词。
现在小明想知道按照这个方式背单词,最早在第几天结束时累计背了至少 n 个新单词。

输入
输入一行,包含两个整数 n,m (1 ≤ n ≤ 1e12,1 ≤ m ≤ 1000),分别代表小明计划背的新单词总数和小明第一天背的新单词数量。

输出
输出一行,包含一个整数 d ,代表小明在第 d 天结束时累计背了至少  n 个新单词。

Input
100 50

Output
3

解析:
冰雹猜想
一个正整数x,如果是奇数就乘以3再加1,如果是偶数就直接除以2,这样经过若干次数,这个数最终会回到1。
无论这个过程中的数值如何庞大,最终都会像瀑布一样迅速坠落。在经过若干次的变换之后也必然会到纯偶数:4-2-1的循环之中。据日本和美国的数学家攻关研究,在小于7e11的所有的正整数中,都符合这个规律。
虽然无法证明冰雹猜想是否完全正确,但是在 m 的数据范围下一定是正确的。

所以本题在枚举到 m 为1,2或4的时候,就可以三个为一组打包处理。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=2e6+10;
int n,m;
void solve()
{cin>>n>>m;int cnt=0;while (n>0){n -=m;cnt++;if (m&1) m=3*m+1;else m /=2;if (m==1||m==2||m==4){cnt +=n/7*3;n=n%7;}}cout<<cnt;
}
signed main()
{ios;int T=1;//cin>>T;while (T--) solve(); return 0;
}

相关文章:

  • Leetcode 3016. Minimum Number of Pushes to Type Word II
  • 区间预测 | Matlab实现GRU-Adaboost-ABKDE的集成门控循环单元自适应带宽核密度估计多变量回归区间预测
  • Python中的卷积神经网络(CNN)入门
  • 第15届蓝桥杯嵌入式省赛准备第二天总结笔记(使用STM32cubeMX创建hal库工程+按键输入)
  • FPGA物理引脚,原理(Pacakge and pinout)-认知3
  • 使用 vsCode创建GO项目
  • locust快速入门--使用locust-plugins保存类似jmeter的csv数据
  • Conda python管理环境environments 一 从入门到精通
  • 第一篇【传奇开心果短博文系列】Python库技术点案例示例:cv2库常用功能和方法
  • 【shell编程入门】正则表达式
  • Opncv模板匹配 单模板匹配 多模板匹配
  • ZJOI2009 对称的正方形
  • 2024Navicat最新下载安装教程
  • Spring框架面试题
  • 使用代理加速docker pull
  • 分享的文章《人生如棋》
  • [LeetCode] Wiggle Sort
  • [数据结构]链表的实现在PHP中
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Angular 响应式表单 基础例子
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • exif信息对照
  • flutter的key在widget list的作用以及必要性
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java 最常见的 200+ 面试题:面试必备
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • php面试题 汇集2
  • Redash本地开发环境搭建
  • TypeScript实现数据结构(一)栈,队列,链表
  • 产品三维模型在线预览
  • 第2章 网络文档
  • 反思总结然后整装待发
  • 理清楚Vue的结构
  • 力扣(LeetCode)21
  • 深入浅出Node.js
  • 使用 Docker 部署 Spring Boot项目
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 小程序01:wepy框架整合iview webapp UI
  • 一、python与pycharm的安装
  • 以太坊客户端Geth命令参数详解
  • const的用法,特别是用在函数前面与后面的区别
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • #define
  • #大学#套接字
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (2)(2.10) LTM telemetry
  • (2015)JS ES6 必知的十个 特性
  • (4)logging(日志模块)
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (Matlab)使用竞争神经网络实现数据聚类
  • (编译到47%失败)to be deleted
  • (第8天)保姆级 PL/SQL Developer 安装与配置