#1 我研究了一下Collatz猜想
发表于 : 2024年 5月 12日 15:09
Collatz猜想是说:从一个数出发,能除以2就除以2,不能除以2就乘3加1。最后总能回到1。
我研究了一下,用a替换2,用b替换3。发现这么几个现象:
1,2是必须的。别的a迭代越来越大。
2,3也是必须的。别的b迭代也越来越大。
3,加1也是必须的,加别的迭代也是越来越大。
4,b=ka+1的话,增加的速度能慢一点。b != ka+1的话,增加速度基本上和一直乘以b差不多。
代码: 全选
def collatz(n,a,b):
result = [n]
while len(result) < 200 and n != 1:
n = n//a if n%a==0 else b*n+1
result.append(n)
return result
def run():
result = collatz(47,2,3)
for item in result:
print(item)
run()
1,2是必须的。别的a迭代越来越大。
2,3也是必须的。别的b迭代也越来越大。
3,加1也是必须的,加别的迭代也是越来越大。
4,b=ka+1的话,增加的速度能慢一点。b != ka+1的话,增加速度基本上和一直乘以b差不多。