2 条题解

  • 1
    @ 2025-3-9 11:08:13

    //如果 N 是奇数,那么将它乘以 3 后再加 1。 如果 N 是偶数,那么将它除以 2。

    两个判断条件:1.if(n%21)//奇数 2.if(n%20)//偶数

    有x次变化,所以用while循环。

    需要定义一个计数变量s,每变化一次就++s

    Code

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	int n,s=0;
    	cin>>n;
    	while(n!=1){
    		if(n%2==1){
    			n=n*3+1;
    			++s;
    		}else{
    			n/=2;
    			++s;
    		}
    	}
    	cout<<s;
    	return 0;
    } 
    
    • 0
      @ 2025-3-15 9:08:20

      #include<bits/stdc++.h> using namespace std; int main() { long long n,ans=0; cin>>n; while(n!=1){ if(n%2==1){ n=n*3+1; ans++; } else{ n=n/2; ans++; } } cout<<ans<<endl; return 0; }

      • 1

      信息

      ID
      2747
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      40
      已通过
      26
      上传者