2 条题解
-
0
#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
#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
- 标签
- 递交数
- 94
- 已通过
- 33
- 上传者