角谷猜想
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了角谷猜想相关的知识,希望对你有一定的参考价值。
程序地址:http://www.cheemoedu.com/exercise/63
问题描述:
角谷猜想的内容为:任意给定一个自然数,若它为偶数则除以2,若它为奇术则乘3加1,得到一个新的自然数。按照这样的计算方法计算下去,若干次后得到的结果必然为1。
编写程序对角谷猜想的正确性加以验证。
我的代码:
n=int(raw_input("please input a number: ")) while True: if n%2==0: n=n/2 else: n=n*3+1 if n==1: print "Corner Valley conjecture is OK!!!" break
我的思路:
整个程序并不难,按照描述一步一步来即可;首先判断数是否为偶数,如果是偶数就让原数除以2并让新值覆盖,否则让原数乘以3加1并让新数覆盖,在每一次操作后判断值是否为1,;
示例代码:
def fun(n): print n, while n != 1: n = 3 * n + 1 if n % 2 else n / 2 print ‘finished‘ for i in xrange(2, 1000): fun(i)
示例代码也很好懂,就不说了;
以上是关于角谷猜想的主要内容,如果未能解决你的问题,请参考以下文章