问题描述
考拉兹猜想(Collatz Conjecture),又称为奇偶归一猜想、3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,是指:
对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
例如,对于整数6:
第1步:6 / 2 = 3
第2步:3 * 3 + 1 = 10
第3步:10 / 2 = 5
第4步:5 * 3 + 1 = 16
第5步:16 / 2 = 8
第6步:8 / 2 = 4
第7步:4 / 2 = 2
第8步:2 / 2 = 1
一共进行了8次操作。
编写C语言程序,从键盘读入一个整数n,然后验证考拉兹猜想,输出最终得到1的操作次数。
输入格式
一共1行数据,包含1个整数n。
输出格式
一个整数,表示最终得到1的操作次数。
数据规模与约定
整数n的值约定为 1 ≤ n ≤ 1 000 000。
输入样例
6
输出样例
8
#include <stdio.h>
int main() {
long long int n;
int count = 0;
scanf("%lld", &n);
for (count = 0; n != 1; count++) {
if (n%2 == 0) {
n = n / 2;
}
else {
n = (n * 3) + 1;
}
} printf("%d", count);
return 0;
}