厦大C语言上机 1483 归一法则
1483.归一法则时间限制: 1000 MS 内存限制: 65536 K
提交数: 433 (2 users) 通过数: 302 (295 users)
问题描述
一个偶然的机会,街边算命的老人跟小明打赌,只要小明给他一个正整数n,他按照下面的规则,总是能在有限的次数内把这个给定的正整数n变成1。规则很简单:如果n是奇数,则将n变为3n+1,否则变为n的一半。小明一开始不相信,但是试了很多次,老人都做到了,例如3->10->5->16->8->4->2->1。于是小明输了10块钱。现在小明学会了C语言,他要让计算机帮他检验一下老人说的到底是不是真的。
输入格式
输入n,n<=109
输出格式
输出变换的次数。
样例输入
3
样例输出
7
来源
xmu
#include <stdio.h>
int main()
{
int n;
int times;
scanf("%d", &n);
times = 0;
while (n > 1)
{
if (n % 2 == 1)
n = 3 * n + 1;
else
n /= 2;
times++;
}
printf("%d\n", times);
return 0;
}
文档来源:51CTO技术博客https://blog.51cto.com/liulizhi1996/3032735
页:
[1]