PAT(乙级)1001害死人不偿命的(3n+1)猜 Python 实现

首先要下载vscode软件
下载过程在我的博客内:python入门,第6章有详细介绍,在此不再赘述

其次注册pat网站,

然后开始做题,我选择的语言是Python 3.0

在D盘-python下建立pat文件夹(熟悉我博客的应该了解,我的所有py文件都在该路径下保存),可以直接点开D盘python文件夹再建立pat文件夹

然后再pat文件夹下建立1001.py

以下是我的代码
注意在代码前有题目的解释,运行代码前有ctrl + S 的保存

""" 卡拉兹(Callatz)猜想:

对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;
如果它是奇数,那么把 (3n+1) 砍掉一半。
对给定的任一不超过 1000 的正整数 n,简单地数一下,需要多少步(砍几下)才能得到n = 1 """ 
n = int(input())
step = 0
while n != 1 :
    if n %2 == 1 :
        n = (3*n + 1)/2
    else :
        n = n / 2
    step = step + 1
print(step)

演示结果为:
PS D:\python> cd pat
PS D:\python\pat> python .\1001.py
3
5
PS D:\python\pat>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值