Python基础练习--考拉兹猜想

考拉兹猜想

https://www.sohu.com/a/157051762_224832

 

对于自然数N

f(N) = N / 2   (N为偶数)

      = 3 * N + 1  (N为奇数时)

不断的进行f操作,是否最终都会收敛到1?

 

目前还没有数学证明。

从程序计算的角度看,是个很清晰的结构,由于Python的number的范围较大,所以使用Python去写程序是比较适宜的。

这里练习下Python的循环以及输入参数的使用。

#!/usr/bin/env python
#coding: utf-8

import sys

print("hello")

count = 0
num = 100
num = int(sys.argv[1])
while num != 1:
	print(num)
	count += 1

	if(num % 2 == 0):
		num = num / 2
	else:
		num = num * 3 + 1


print(count)

测试

F:\Learn\2020>python test.py 5
hello
5
16
8.0
4.0
2.0
5

F:\Learn\2020>python test.py 6
hello
6
3.0
10.0
5.0
16.0
8.0
4.0
2.0
8

F:\Learn\2020>python test.py 51
hello
51
154
77.0
232.0
116.0
58.0
29.0
88.0
44.0
22.0
11.0
34.0
17.0
52.0
26.0
13.0
40.0
20.0
10.0
5.0
16.0
8.0
4.0
2.0
24

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值