博客
关于我
PAT(Basic Level)1001 (3n+1)猜想
阅读量:558 次
发布时间:2019-03-09

本文共 574 字,大约阅读时间需要 1 分钟。

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

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

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

#include
using namespace std;int getNum(){ int a=0; cin>>a; return a;} int count(int a){ int i=0; while(a!=1){ if(a%2){ a=(3*a+1)/2; } else{ a=a/2; } i++; } return i;}int main(){ int a,i; a=getNum(); i=count(a); cout<
<

VS运行结果:输入7,需要11次。

VS运行结果

转载地址:http://slvpz.baihongyu.com/

你可能感兴趣的文章
nacos集群节点故障对应用的影响以及应急方法
查看>>
nacos集群配置详解
查看>>
Nagios 3.0 Jumpstart Guide For Linux – Overview, Installation and Configuration
查看>>
nagios 实时监控 iptables 状态
查看>>
WAP短信格式解析及在Linux下用C语言实现
查看>>
nagios+cacti整合
查看>>
Nagios介绍
查看>>
nagios利用NSCient监控远程window主机
查看>>
nagios安装文档
查看>>
nagios服务端安装
查看>>
Nagios自定义监控脚本
查看>>
name_save matlab
查看>>
Nami 项目使用教程
查看>>
Nancy之基于Nancy.Hosting.Aspnet的小Demo
查看>>
NAND NOR FLASH闪存产品概述
查看>>
nano 编辑
查看>>
nanoGPT 教程:从零开始训练语言模型
查看>>
NASA网站曝严重漏洞,或将沦为黑客钓鱼网站?
查看>>
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>