角谷猜想
【问题描述】
角谷猜想是指任何一个正整数如果是偶数则变为其一半,如果是奇数则变为其 3 倍加 1,最终都将变为 1。如果为 1,则按照规则将变为 4,4 则变为 2,2则变为 1,进入无限循环。该猜想尚未得到数学证明;
本题先后输入两个正整数,输出该范围内角谷猜想变化步骤最多的数及其步骤;如果输入的第 1 个数大于第 2 个数,则交换,如 20 10,则计算出 10 到 20(含)之间变化步骤最多的数及其步骤。
【输入描述】
输入两行,第 1 行输入范围起点,回车后第 2 行输入范围的终点。
特别提示:常规程序中,输入时好习惯是有提示。考试时由于系统限定,输入时所有 input()函数不可有提示信息。
【输出描述】
输出两行,先输出变化步骤最大的数,然后输出步骤数量。
步骤计算时,包含数本身,例如:10 的变化过程是 10,5,16,8,4,2,1,变化步骤数为 7。
【样例输入 1】
10
20
【样例输出 1】
18
21
【样例输入 2】
100
200
【样例输出 2】
171
125
【样例输入 3】
500
300
【样例输出 2】
327
144
相似题推荐
下面的Python 代码执行后其输出是( )。
cnt = 0 for i in range(1, 5): for j in range(i): print(j, end = "#") break else: print(i*j)
| A. 0#0#1#0#1#2#0#1#2#3#12 |
B. 0#0#1#0#1#2#0#1#2#3# |
| C. 0# |
D. 1# |
下列Python 代码执行后将输出1#4#9#16#16 。()
for i in range(1, 5): for j in range(1, i + 1): if i * j % 10 == 0: break else: print(i * j, end = "#") else: print(i * j)
| A.正确 | B.错误 |
下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()
for i in range(1, 10): for j in range(i): if i * j % 10 == 0: break else: print(i*j)
| A.正确 | B.错误 |
执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()
N = input() while N : print(N)
| A.正确 | B.错误 |
下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。
| A. x <= 5 and y > 10 |
B. x > 5 or y <= 10 |
| C. x <= 5 or y > 10 |
D. not x > 5 and not y <= 10 |
