2 条题解

  • 0
    @ 2024-10-1 9:59:07
    #include<bits/stdc++.h>
    using namespace std;
    int max(int x,int y,int z){
    	return max(x,max(y,z));
    }
    int min(int x,int y,int z){
    	return min(x,min(y,z));
    }
    int mid(int x,int y,int z){
    	if(x<y)swap(x,y);
    	if(y<z)swap(y,z);
    	if(x<y)swap(x,y);
    	return y;
    }
    int f1(int a,int b,int c){
    	return 100*max(a,b,c)+10*mid(a,b,c)+min(a,b,c);
    }
    int f2(int a,int b,int c){
    	return 100*min(a,b,c)+10*mid(a,b,c)+max(a,b,c);
    }
    int main(){
    	int num,cnt=0,a,b,c,ax,in;
    	cin>>num;
    	while(num!=495){
    		c=num%10;
    		b=num/10%10;
    		a=num/100;
            ax=f1(a,b,c);
            in=f2(a,b,c);
    		num=ax-in;
    		cnt++;
    	}
    	cout<<cnt;
    	return 0;
    }
    
    • 0
      @ 2024-5-12 14:02:18
      #include<bits/stdc++.h> 
      using namespace std; 
      int main(){ 
          int a=0,s=0,d,z=0,x,c,f;
          cin>>c;
          for(d=0;c!=495;d++){
          	
          a=c/100;
      	s=c/10%10;
      	z=c%10;
          	if(a>s and a>z){
          		x=a*100+s*10+z;
          		f=z*100+s*10+a,
          		c=x-f;
      		}
      			if(s>a and a>z){
          		x=s*100+a*10+z;
          		f=z*100+a*10+s,
          		c=x-f;
      		}
      			if(z>s and s>a){
          		x=z*100+s*10+a;
          		f=a*100+s*10+z,
          		c=x-f;
      		}
      			if(a>z and z>s){
          		x=a*100+z*10+s;
          		f=s*100+z*10+a,
          		c=x-f;
      		}
      			if(z>a and a>s){
          		f=s*100+a*10+z;
          		x=z*100+a*10+s,
          		c=x-f;
      		}
      		    if(s>z and z>a){
          		x=s*100+z*10+a;
          		f=a*100+z*10+s,
          		c=x-f;
      		}
      	
      	}
      	cout<<d;
      		return 0;
      		}
      
      • 1

      信息

      ID
      2174
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      89
      已通过
      28
      上传者