3 条题解

  • 1
    @ 2025-8-2 8:23:04
    #include<bits/stdc++.h>
    using namespace std;
    int n,i;
    int main(){
    	cin>>n;
    	while(n-1){
    		++i;
    		n=(n%2?n*3+1:n/2);
    	}
    	cout<<i;
    } 
    
    • 0
      @ 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;
      } 
      
      • -3
        @ 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
        标签
        递交数
        42
        已通过
        28
        上传者