题目描述
# C++解法
#include <iostream>
using namespace std;
int main() {
int n, count = 0;
cin >> n;
while (n != 1) {
if (n % 2 != 0) n = 3 * n + 1;
n = n / 2;
count++;
}
cout << count;
return 0;
}
Python解法
n = eval(input())
times = 0
while n != 1 :
if n % 2 == 0:
n /= 2
else:
n = (n*3+1)/2
times = times + 1
print(times)
java解法
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int number = Integer.parseInt(bufferedReader.readLine());
bufferedReader.close();
int cnt = 0;
while (number != 1) {
if (number % 2 != 0) number = 3 * number + 1;
number /= 2;
cnt++;
}
System.out.print(cnt);
}
}