题目链接
题目很简单验证给定的数需要经过几步才能到达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/2else:n=(3*n+1)/2count=count+1print(count)
复制代码
第一次用python刷题,python是真滴慢