PAT刷题:1001 害死人不偿命的(3n+1)猜想 【python】

答案:

n = int(input()) #正整数n
sum = 0 #次数

while n != 1:
    if n % 2 == 0:
        n /= 2
    else:
        n = (3*n+1)/2
    sum+=1

print(sum)

解析:

PAT刷题:1001 害死人不偿命的(3n+1)猜想 【python】_第1张图片
PAT刷题:1001 害死人不偿命的(3n+1)猜想 【python】_第2张图片
一看就是循环,直接循环计数即可

注意:

因为太久没用python了,发现有些语法都忘记了
输入:n = input()
整数输入:n = int(input())
没有累加:只有n += 1,没有n++
更变:以前的循环小括号消失大括号变成冒号

你可能感兴趣的:(算法刷题,算法,python)