PAT 1001 害死人不偿命的(3n+1)猜想 (15)(C++&JAVA&Python)

时间:2022-10-09 16:05:22

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

卡拉兹(Callatz)猜想:

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

我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。

输出格式:输出从n计算到1需要的步数。

输入样例:

3

输出样例:

5

C++:

#include<iostream>
using namespace std;
int main() {
int a;
int count = 0;
cin >> a;
if (a > 0) {
while (1) {
if (a == 1)break;
switch (a % 2) {
case 0:
a /= 2;
break;
case 1:
a = (a * 3 + 1) / 2;
break;
}
count++;
}
}
cout << count;
return 0;
}

JAVA代码: 

import java.util.Scanner;
public class Main{
public static void main(String [] args){
int count=0;
Scanner input=new Scanner(System.in);
int key=input.nextInt();
while(key!=1){
if(key%2==0)
key=key/2;
else
key=(3*key+1)/2;
count++;
}
System.out.println(count);
}
}

Python:

if __name__=="__main__":
number=int(input())
count=0
while number!=1:
if number%2:
number=(3*number+1)/2
else:
number/=2
count+=1
print(count)

PAT 1001 害死人不偿命的(3n+1)猜想 (15)(C++&JAVA&Python)的更多相关文章

  1. PAT 1001&period; 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在1950年的世界 ...

  2. PAT——1001&Tab;害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1? 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值. 输出格式:输出从n计算到1需要的步数. 输入样例 ...

  3. PAT乙级 1001&period; 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...

  4. &lbrack;C&plus;&plus;&rsqb;PAT乙级1001&period;害死人不偿命的&lpar;3n&plus;1&rpar;猜想&lpar;15&sol;15&rpar;

    /* 1001.害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下 ...

  5. 【PAT】1001&period; 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  6. PAT 乙级练习题1001 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  7. 1001&period; 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    1001. 害死人不偿命的(3n+1)猜想 (15) 较简单,直接代码实现: #include <cstdio> int main() { int n; scanf("%d&qu ...

  8. PAT-乙级-1001&period; 害死人不偿命的&lpar;3n&plus;1&rpar;猜想 &lpar;15&rpar;

    1001. 害死人不偿命的(3n+1)猜想 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 卡拉兹(Ca ...

  9. PAT 1001 害死人不偿命的&lpar;3n&plus;1&rpar;猜想

    1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复 ...

随机推荐

  1. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

  2. ACM&colon; Ubiquitous Religions-并查集-解题报告

    Ubiquitous Religions Time Limit:5000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Descript ...

  3. Noip2014 提高组 T2 联合权值 连通图&plus;技巧

    联合权值 描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的 ...

  4. Virtualbox让kali虚拟机共享主机的无线网络连接

    今天在测试虚拟机下安装kali系统时,遇到一个问题,默认安装完kali系统后,虚拟机不能上网.虚拟机网络配置使用的是默认的网络地址转换(NAT)选项. 网上查了很多,都说使用NAT模式时虚拟机不用做任 ...

  5. Cannot declare class app&bsol;home&bsol;controller&bsol;Cases because the name is already in use

    Cannot declare class app\home\controller\Cases because the name is already in use 命名空间冲突了 use 模型类的时候 ...

  6. UNIX环境高级编程——select和epoll的区别

    select和epoll都用于监听套接口描述字上是否有事件发生,实现I/O复用 select(轮询) #include <sys/select.h> #include <sys/ti ...

  7. Thymeleaf--&colon;fragment

    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org&quot ...

  8. 学习笔记40—endnote点点滴滴

    1.在endnote中,如果引用书籍时,需要作者名称后面加“逗号”,作者名称才不会缩写, 比如: 1) 加“逗号”之前: 2)加“逗号”之后

  9. spark 数据读取与保存

    spark支持的常见文件格式如下: 文本,json,CSV,SequenceFiles,Protocol buffers,对象文件 1.文本 只需要使用文件路径作为参数调用SparkContext 中 ...

  10. Stochastic Optimization Techniques

    Stochastic Optimization Techniques Neural networks are often trained stochastically, i.e. using a me ...