#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
void toArray(int n,int num[]){
for(int i=0;i<4;i++){
num[i]=n%10;
n/=10;
}
}
int toNum(int num[]){
int sum=0;
for(int i=0;i<4;i++){
sum=sum*10+num[i];
}
return sum;
}
int main(){
int MIN,MAX;
int n;
int num[5];
scanf("%d",&n);
do{
toArray(n,num);
sort(num,num+4);
MIN=toNum(num);
sort(num,num+4,cmp);
MAX=toNum(num);
n=MAX-MIN;
printf("%04d - %04d = %04d\n",MAX,MIN,n);
}while(n!=0&&n!=6174);
return 0;
}
1019. 数字黑洞 (20)PAT乙级 &1069. The Black Hole of Numbers (20) PAT甲级
最新推荐文章于 2020-03-06 22:26:36 发布
本文介绍了一个关于6174数字谜题的C语言实现,通过不断对四位数进行重排并相减直至得到6174或0的过程。文章提供了一段完整的代码示例,展示了如何使用C语言中的数组和排序函数来解决这个问题。

1981

被折叠的 条评论
为什么被折叠?



