害死人不偿命的(3n+1)猜想/xxx定律

1001. 害死人不偿命的(3n+1)猜想 PAT 1001. 害死人不偿命的(3n+1)猜想 C实现 立即下载

题目描述

对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。请计算需要经过几步才能将n变到1,具体可见样例。

输入描述

测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)

输出描述

对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。

输入

3
1
0

输出

5
0

代码

#include<iostream>
using namespace std;
int gcd(int a,int b){
    if(a%b==0)
        return b;
    return gcd(b,a%b);
}
int main(){
    int n,step=0;
    while(cin>>n){
        if(n==0)
            break;
        step=0;
        while(n!=1){
            if(n%2==0)//如果n是偶数
                n/=2;
            else//n是奇数
                n=(3*n+1)/2;
            step++;
        }
        cout<<step<<endl;
    }
    return 0;
}
LM358实战:手把手教你搭建电流检测电路(附电阻选型计算) 本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。 阅读详情

相关推荐

IEEE Transactions on Industrial Informatics(TII)投稿全流程解析:从准备到成功提交

本文详细解析了向IEEE Transactions on Industrial Informatics(TII)投稿的全流程,涵盖从投稿前的格式准备、内容结构优化到在线提交系统实操等关键环节。重点强调了遵守TII严格的格式规范、双盲评审要求以及如何构建有说服力的学术叙述,旨在帮助研究者提升稿件质量,顺利通过评审。

weixin_28396629的博客 1867

算法笔记(一)害死人不偿命的(3n+1)猜想

算法算是我比较薄弱的部分了,所以万丈高楼平地起,我要从最基本的算法学起来。做项目和有算法思想是不一样的,我会变得更好。每天一道算法题:输入一个数,偶数时则砍掉一半;奇数时,则(3n+1)砍掉一半,最后直到得到1.问,进行了多少次?思路:对于3n+1这样的题目,我第一感觉就是将运算部分封装起来,然后主函数循环调用书给的答案:#include &lt;cstdio.h&gt; int main() ...

咖啡的博客 9724

Vue3 与 Bpmn-js:打造现代化 BPMN 流程设计器

随着业务流程的复杂化,流程设计器成为企业级应用中不可或缺的一部分。BPMN(Business Process Model and Notation)是一种标准的业务流程建模语言,广泛应用于业务流程管理。本文将介绍如何使用 Vue3 和 Bpmn-js 打造一个现代化的 BPMN 流程设计器。

九天的专栏 2118

C语言 害死人不偿命的(3n+1)算法 挖掘机技术哪家强 选择排序 贪心算法

贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法解决问题的过程中,它对每个子问题的解决方案都做出选择,不能回退。输入在第 1 行给出不超过 10 ​5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。此处并非要证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步才能得到n=1?

T3604220939的博客 1035

【亲测有效】OpenClaw Gateway 出现 “(no output)“ 卡死问题完整解决指南:从手动重启到 systemd Watchdog 自动恢复

最近在使用 OpenClaw(自托管 AI 助手框架,前身 Clawdbot/Moltbot)时,遇到了一个非常常见的顽疾:TUI(终端界面)或 Telegram 等通道经常显示 "(no output)",消息发出去后机器人完全没反应,看起来像是卡死了。

hampeter的博客 8610

西门子1500T系列凸轮同步(CAMIN指令用法)

添加凸轮工艺对象(TO_CAM),也就是凸轮表。开始编程,先写2个轴的使能、回原点与主轴的定位。监控主轴与从轴的位置、速度关系是否满足实验要求。1.添加工艺对象(1个定位轴,1个同步轴)调用CAMIN指令 ,凸轮耦合。主轴为旋转轴且为模数轴。3.调用插补凸轮盘指令。4.仿真、监控、调试。

gyxgyx789的博客 1万+

PAT1001 害死人不偿命的(3n+1)猜想 (15 分)

文章目录题目描述java解法 题目描述 # C++解法 #include <iostream> using namespace std; int main() { int n, count = 0; cin >> n; while (n != 1) { if (n % 2 != 0) n = 3 * n + 1; n ...

liuzuoping的博客 308

从零到一:手把手教你用C#开发AGV调度系统(附避坑指南)

本文详细介绍了如何使用C#开发高效的AGV调度系统,涵盖从环境搭建到核心算法实现的完整流程。重点解析了动态路径规划、多机协同等关键技术,并提供了实用的避坑指南和性能优化建议,帮助开发者快速构建工业级车辆控制调度系统。

blockchain9miner的博客 742

xxx定律

题目描述: 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。 输入: 测试包含多个用例,每个用例...

weixin_33859504的博客 301

Habitat-baselines v0.1.7防踩坑手把手带你跑通(全网唯一)

Habitat-baselines v0.1.7防踩坑手把手带你跑通(全网唯一)

shannanshouyin的博客 1277

【33】软考软件设计师——算法题(二):贪心法与回溯法深度精讲|第4题进阶满分攻略

本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第33篇,承接第32篇分治法与动态规划,聚焦**下午第4题算法大题进阶核心**,详解贪心法与回溯法两大高频难点算法。全文超4000字深度拆解贪心法核心原理、贪心选择性质、局部最优推全局最优的底层逻辑,厘清贪心算法适用边界与经典误区;深挖回溯法深度优先遍历思想、递归回溯三步流程、可行性剪枝与最优性剪枝两大核心技巧;全覆盖活动选择、零钱兑换、01背包贪心禁区、八皇后、全排列等软考必考经典题型;配套标准化算法框架代码、考场填空模板、剪枝优化实操案例

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 440

PAT练习 害死人不偿命的(3n+1)猜想 JAVA

卡拉兹(Callatz)猜想

paradipose的博客 165

利用 SAP Joule 提升 ABAP 开发效率的前提条件与限制全解析

综上,想要在 ABAP Development Tools 中顺利使用 SAP Joule,既要准备好 BTP、IAS、ABAP 系统与 ADT 的版本与信任链,也要理解许可证、配额、语法范围等限制。只有在这些前提全部满足后,Joule 才能真正发挥生成式 AI 的价值,帮助 ABAP 开发者从繁琐模板中解放出来,把注意力投入在业务创新与 Clean Core 改造之上。未来 SAP 还将扩展中文语境、自动修复建议以及跨系统智能代理等功能,值得持续关注。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 664

PAT中文,1001 害死人不偿命的(3n+1)猜想 (15 分)

1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+...

suiuko 优快云 421

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

对任何一个正整数n,如果它是偶数,那么把它砍掉一半,如果它是奇数,那么把(3n+1)砍掉一半。

题目: 对任何一个正整数n,如果它是偶数,那么把它砍掉一半。如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。 如:当n=3时,第一步:n=(3*3+1)/2=5;第二步:n=(3*5+1)/2=8;第三步:n=8/2=4;第四步:n=4/2=2;第五步:n=2/2=1; 问:当n=20220625时,需要多步得到n=1? 分析: 注意由于循环的次数不定,需要用......

Taciturnity_的博客 2696

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

九度OJ 题目1031:xxx定律

一题目描述:     对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。     请计算需要经过几步才能将n变到1,具体可见样例。 输入:     测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1 输出:     对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。 样例输入

lhyer的专栏 990

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

13. xxx定律

【问题描述】 对于一个正整数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。 【输入形式】 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000) 【输出形式】 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。 【样例输入】 3 2 0 【样例输出】 5 1 ...

longzaizai_的博客 357

害死人不偿命的(3n+1)猜想

卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国...

Rjex 586

C++实训 4086. xxx定律

题目: 【问题描述】 对于一个正整数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。 【输入形式】 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000) 【输出形式】 对于每组测试用例请输出一个数,表示需要经过的步数,...

dldldl1994的博客 511

算法刷题训练——(3n+1)猜想

3n+1猜想题目实现

Miraitowup的博客 388

PAT乙级真题练习:1001-1004

PAT乙级真题练习:1001-1004

qq_51447436的博客 1万+

九度oj-1031-xxx定律

题目描述:     对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。     请计算需要经过几步才能将n变到1,具体可见样例。 输入:     测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1 输出:     对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。 样例输

heheSakura的博客 674

xxx定律-C语言

三、xxx定律 题目描述 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。 输入描述: 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000) 输出描述: 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。 示例1 输入 3 1 0 输出 5 0 代码如下: #include <stdio...

Alexling0的博客 376

3n+1猜想

卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。 给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步才能得到 n=1? 输入格式: 每个测试输入包含 1 个测试用例,即给出正整数 n 的值。 输出格式: 输出从 n 计算到 1 需要的步数。 输入样例...

韶言大雅 1547

1005 继续(3n+1)猜想 (25 分)

1005 继续(3n+1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需...

148

【卡拉兹猜想】:对于一个自然数n,如果他是偶数,那么把它砍掉一半;如果是奇数,那么把(3n+1)砍掉一半,一直反复下去,最后在某一步得到n=1。求从n计算到1的步数

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() //卡拉兹猜想,对于一个自然数n,如果他是偶数,那么把它砍掉一半; //如果是奇数,那么把(3n+1)砍掉一半,一直反复下去,最后在某一步得到n=1。 //求从n计算到1的步数 { int i=0; scanf("%d", &i); int step = 0; do { if (i % 2 == 0) { i /= 2;.

衡的博客 2783
上一篇: 最大公约数(辗转相除)
下一篇: 三角形的边
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值