测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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分

上一题 下一题