|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zibianfu 于 2022-5-24 15:25 编辑
题目:
1. 验证角谷猜想Powered by https://fishc.com.cn
$' R-tj~:9,T.6{JOGxi
角谷猜想的内容是:任意给定一个正整数,若它为偶数则除以 2,若它为奇数则乘以 3 再加 1,得到一个新的自然数,按照这样的方法计算下去,最终的结果必将是 1。
比如给定的自然数是 5,则 5 * 3 + 1 = 16 -> 16 / 2 = 8 -> 8 / 2 = 4 -> 4 / 2 = 2 -> 2 / 2 = 1。
现在要求大家编写一个验证角谷猜想的程序。
代码:
num=int(input("please input a number:"))
text=" "
while True:
if num==1:
break
elif num%2==0:
text=text+"-->"+str(num)+"/2="+str(int(num/2))
num=num/2
elif num%2==1:
text=text+"-->"+str(num)+"*3+1="+str(int(num*3+1))
num=num*3+1
print("计算流程:",text)
输出结果:
please input a number:100
计算流程: -->100/2=50-->50.0/2=25-->25.0*3+1=76-->76.0/2=38-->38.0/2=19-->19.0*3+1=58-->58.0/2=29-->29.0*3+1=88-->88.0/2=44-->44.0/2=22-->22.0/2=11-->11.0*3+1=34-->34.0/2=17-->17.0*3+1=52-->52.0/2=26-->26.0/2=13-->13.0*3+1=40-->40.0/2=20-->20.0/2=10-->10.0/2=5-->5.0*3+1=16-->16.0/2=8-->8.0/2=4-->4.0/2=2-->2.0/2=1
问题:如何把输出结果里面的小数点不显示,比如50.0显示成50,str函数把数字转换成字符串以后能不能不带小数点呢,该怎么改代码?谢谢!
|
|