1 条题解
-
0
C :
#include<stdio.h> int main() { int n,count=0; scanf("%d",&n); while(n>1) { if(n%2==0)n/=2; else n=3*n+1; count++; } printf("%d",count); return 0; }C++ :
#include<iostream> using namespace std; int main() { int n;int a=0,b=0; cin>>n; while(n!=1) { while((n%2!=0)&&(n!=1)) { n=3*n+1; ++a; } while((n%2==0)&&(n!=0)) { n=n/2; ++b; } } cout<<a+b; return 0; }Python :
# coding=utf-8 n = int(input()) # 初始化变换次数为0 count = 0 # 循环直到n变为1 while n != 1: if n % 2 == 1: # 如果n是奇数 n = 3 * n + 1 # 将n变为3n+1 else: # 如果n是偶数 n = n // 2 # 将n变为n的一半 count += 1 # 增加变换次数 # 输出变换次数 print(count)
- 1
信息
- ID
- 1177
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者