题目链接
题目很简单验证给定的数需要经过几步才能到达1。
- 假设这个数n
- 如果n是偶数,n = n/2;
- 如果n是奇数,n=(3*n+1)/2
c++代码
#include <iostream>
using namespace std;
int main() {
int count = 0;
int n;
cin >> n;
while (n != 1) {
//是偶数
if (n % 2 == 0) {
n = n / 2;
}
else {
n = (3 * n + 1) / 2;
}
count++;
}
cout << count << endl;
return 0;
}
python3代码
n = input()
n = int(n)
count =0
while n !=1:
if(n%2==0):
n=n/2
else:
n=(3*n+1)/2
count=count+1
print(count)
第一次用python刷题,python是真滴慢