您的位置:首页 > 其它

浙大PAT 1069题 1069. The Black Hole of Numbers

2014-02-24 17:52 471 查看
#include<stdio.h>
#include<stdlib.h>
int cmp1(const void* ta,const void* tb){
int* a=(int*)ta;
int* b=(int*)tb;
return *b-*a;
}
int cmp2(const void* ta,const void* tb){
int* a=(int*)ta;
int* b=(int*)tb;
return *a-*b;
}
int main(){
int i,j,n;
int last=-1,big,small,ans;
int a[4],b[4];
scanf("%d",&n);
while(1){
for(i=0;i<4;i++){
a[i]=b[i]=n%10;
n=n/10;
}
qsort(a,4,sizeof(int),cmp1);
qsort(b,4,sizeof(int),cmp2);
big=a[0]*1000+a[1]*100+a[2]*10+a[3];
small=b[0]*1000+b[1]*100+b[2]*10+b[3];
ans=big-small;
if(ans==last)
break;
else {
printf("%04d - %04d = %04d\n",big,small,ans);
last=ans;
n=ans;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: