我获得了一个分配写考拉兹猜想程序,修改像这样:蟒蛇稍微修改考拉兹猜想程序
- 我们知道程序总是除以4的偶数,甚至是那些没有被4整除,因此6之后的下一步将是6/4 == 1.
- 我们知道即使有替代行为,程序也总是达到停止条件,不知道代码中是否有其他更改...
,它需要
- 数从n步数,直到我们达到停止条件包括正本身
为最终的答案,我需要回到(的737458374680773所有步骤的总和)*
的问题(的98325112步数)是当我计算这一个:737458374680773它进入无限循环。
至于这个提示:
如果不知道有代码的另一个变化......
我不认为我需要用奇数公式,因为任何改变这在我看来是太过分了(但是,嘿,我不知道太多,启迪我:))。
任何关于我的代码有什么问题或者我没有得到有关任务的想法?
这是我的代码:
import math
def shortz(num):
iterations = 0
stepsSum = 0
while(math.isnan(num) or num<0):
num = int(input("Please supply a non-negative number ==> "))
print("")
while(num !=1):
if (num%2==0):
num /= 4
stepsSum += num
print (str(iterations+1) + ") " + str(num))
else:
num = (num*3) -1
print (str(iterations+1) + ") "+ str(num))
iterations += 1
stepsSum += num
print ("the number of iterations is " + str(iterations))
print ("the sum of all steps is " + str(stepsSum))
q=0
while (q<1):
x = int(input("Input positive number: "))
shortz(x)
z = str(input("Again?")).lower()
if z[0]=='n':
q=2
非常感谢!
伟大的分析! (在我眼里:)) 我认为这可能是它,但只知道下周。非常感谢。 – MatanyaP