PTA乙级题目练习-卡拉兹(Callatz)猜想

2023-11-19

卡拉兹(Callatz)猜想:

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

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

输入格式:

每个测试输入包含 1 个测试用例,即给出正整数 n 的值。

输出格式:

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

输入样例:

3

输出样例:

5

#include<iostream>

using namespace std;
// functiong declare
int Callatz(int n);

int main()
{
	int n = 1;
	cin >> n;//note:cin don't need endl, otherwise compiler will produce error.
	cout << Callatz << endl;
	return 0;
}
int Callatz(int n)
{	
	int i = 0;// for computing times
	while(n != 1)
	{
		if(n & 1 )// if n is odd, then execute followings. And bit operator is more effective than common operator.
		{
			n = (3 * n + 1) / 2;
		}
		else//otherwise n is even
			n = n / 2;
		i++;
	}
	return i;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTA乙级题目练习-卡拉兹(Callatz)猜想 的相关文章

随机推荐

  • Python基础数据类型之字符串(一)

    Python基础数据类型之字符串 一 一 字符串格式化 1 字符串占位符 2 字符串格式化操作 二 f string格式化 三 字符串的索引 四 字符串的切片 1 常规切片使用方法 3 步长的介绍 2 切片使用方法二 一 字符串格式化 1
  • 按键精灵直接运行cmd指令

    vbs Set ObjShell CreateObject Wscript Shell vbs SttCommand cmd exe C 具体指令 vbs ObjShell Run SttCommand 0 False 比如执行python
  • vant组件库

    移动端组件库参考 https www jianshu com p c3c671787d1d 官网 https vant contrib gitee io vant v2 zh CN 1 下载安装vant组件库 cnpm i vant lat
  • python爬虫六:js2py以及selenium的使用

    1 js2py简介 http www porters vip verify sign 案例查看 Python中执行JS代码 通常两个库 js2py pyexecjs js2py是纯python实现的库 用于在python中运行js代码 本质
  • 矩阵的乘法

    1 有两个矩阵 A和B 矩阵实际上就是二维数组 A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量 运算规则 A的每一行中的数字对应乘以B的每一列的数字把结果相加起来 矩阵乘法的结果为行与列的关系为 行数量为A的行数量
  • 春秋云镜cve-2022-32991wp

    首先看靶标介绍 该CMS的welcome php中存在SQL注入攻击 访问此场景 为登录界面 可注册 注册并登陆后找可能存在sql注入的参数 尝试在各个参数后若加一个单引号报错 加两个单引号不报错 说明此参数可能存在sql注入 经过尝试在
  • python数据分析与可视化——第四章实训

    1 导入模块 import pandas as pd import numpy as np import matplotlib pyplot as plt plt rcParams font sans serif SimHei 用来正常显示
  • 阿里云ECS服务器连接MongoDB

    第一次接触MongoDB 第一次部署 将一些步骤整理出来 希望以后会用到 也希望能帮组到有这方面需求的小伙伴 设备说明 服务器为阿里云ECS服务器 网络为专有网络VPC Mango为买的阿里云Mango 各种申请事项和购买才做就不说 下面开
  • 查mysql版本的命令

    首先找到安装mysql的安装位置 我的是在D盘下tools mysql zip mysql 8 0 19 winx64 之后点击安装位置的路径 输入cmd 按enter键 进入黑窗格如图所示 输入命令mysql version 第二种win
  • STM32的CAN过滤器

    最近开始给足底压力设备加外设 这里外设个主设备之间通过can总线连接 之前使用过can总线 但是对can的过滤器不是很理解 所以这里就借机整理一下 原文地址 再谈STM32的CAN过滤器 bxCAN的过滤器的4种工作模式以及使用方法总结 S
  • 运行.sh文件报错-bash: ./download_weights.sh: Permission denied

    运行 sh文件 download weights sh 命令运行报错 bash download weights sh Permission denied 此时这个文件是不可执行的 用 ll 命令查看文件的访问权限 rw r r 1 G19
  • QT程序用windeployqt打包后无法正常启动

    QT程序用windeployqt打包后无法正常启动 显示 应用程序无法正常启动 0xc000007b 请单击确定关闭应用程序 查看exe程序所在文件夹 qt的关键dll都已经拷贝到了 考虑到我的程序还依赖其他的dll工程 虽然依赖的dll也
  • 用ClickHouse 文件表引擎快速查询分析文件数据

    有时我们需要快速查询分析文件数据 正常流程需要在数据库中创建表 然后利用工具或编码导入数据 这时才能在数据库中查询分析 利用ClickHouse文件引擎可以快速查询文件数据 本文首先介绍ClickHouse文件引擎 然后介绍如何快速实现查询
  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • 【统一身份认证】详细讲解

    一 什么是统一身份认证 二 统一身份认证的构成 1 角色模型 用户 角色 权限 2 实现 前言
  • win10使用vscode+anaconda+Python环境配置(解决无法加载文件 \WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本)

    win10使用vscode anaconda Python环境配置 解决无法加载文件 WindowsPowerShell profile ps1 因为在此系统上禁止运行脚本 安装anaconda 为conda设置环境变量 conda 环境初
  • Linux文件权限

    Linux用户分为 拥有者 组群 Group 其他 other Linux系統中 预设的情況下 系統中所有的帐号与一般身份使用者 以及root的相关信息 都是记录在 etc passwd文件中 每个人的密码则是记录在 etc shadow文
  • C++11 标准新特性: 右值引用与转移语义

    新特性的目的 右值引用 Rvalue Referene 是 C 新标准 C 11 11 代表 2011 年 中引入的新特性 它实现了转移语义 Move Sementics 和精确传递 Perfect Forwarding 它的主要目的有两个
  • Linux服务器中查看进程的四种方法

    查看进程的四种方法 1 使用ps aux命令来查看 能以简单列表的形式显示出进程信息 ps aux用于报告当前系统的进程状态 可以搭配kill指令随时中断 删除不必要的程序 ps命令是最基本同时也是非常强大的进程查看命令 使用该命令可以确定
  • PTA乙级题目练习-卡拉兹(Callatz)猜想

    卡拉兹 Callatz 猜想 对任何一个正整数 n 如果它是偶数 那么把它砍掉一半 如果它是奇数 那么把 3n 1 砍掉一半 这样一直反复砍下去 最后一定在某一步得到 n 1 卡拉兹在 1950 年的世界数学家大会上公布了这个猜想 传说当时