A45931. 可以对任何一个自然数进行若干次运算,最终都可以变为1。运算规则如下:(1)若该数是偶数,则变为原数的一半;(2)若该数是奇数,则变为原数的3倍加1;(3)重复(1)(2),直到该数变为1。编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(
填空题
中等
知识点
题目描述
可以对任何一个自然数进行若干次运算,最终都可以变为1。
运算规则如下:
(1)若该数是偶数,则变为原数的一半;
(2)若该数是奇数,则变为原数的3倍加1;
(3)重复(1)(2),直到该数变为1。
编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)
示例1:若输入自然数8,则输出结果为:3。
示例2:若输入自然数5,则输出结果为:5。
参考答案
x=int(input("请输入自然数:"))
count=0
while x!=1:
if x%2==0:
x=x//2
else:
x=3*x+1
count=count+1
print(count)答案解析
评分标准:
(1)有循环语句: 1分,使用得当:1分;合计2分
(2)有循环条件:1分,循环条件正确:2分;合计3分
(3)有条件判断语句: 1分,条件判断语句正确1分;合计2分
(4)有输入语句并且使用正确:1分
(5)有输出语句:1分
(6)结果正确:1分
上一题
下一题