PAT A1069 the black hole of numbers (20)

来源:互联网 发布:中国实际领土知乎 编辑:程序博客网 时间:2024/05/22 18:38
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int num[5];


int cmp(int a,int b){return a>b;}
int getnum(int n){
int len=0;
for(int i=3;i>=0;i--){
num[i]=n%10;
if(n>0) len++;
n=n/10;
}
return len;
}
int main(){
int n;
int i,a,b,c;
scanf("%d",&n);
int len = getnum(n);
sort(num,num+4);
if(num[0]==num[3]) printf("%04d - %04d = 0000",n,n);
else{
while(1){
sort(num,num+4,cmp);
a=num[0]*1000+num[1]*100+num[2]*10+num[3];
printf("%04d - ",a);
sort(num,num+4);

b=num[0]*1000+num[1]*100+num[2]*10+num[3];
printf("%04d",b);
printf(" = %04d\n",a-b);
//getnew(a-b);
c=a-b;
if(c==6174) break;
num[0]=(c/1000);
num[1]=(c/100%10);
num[2]=(c%100/10);
num[3]=(c%10);
}
}
system("pause");
return 0;
}
0 0