1019 数字黑洞 (20 分)
输入样例 1:
6767
输出样例 1:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
输入样例 2:
2222
输出样例 2:
2222 - 2222 = 0000
代码
#include<stdio.h>
#include <algorithm>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
int n;
scanf("%d",&n);
int a[5],b[5],a1=0,b1=0;
while(1){
for(int i=0;i<4;i++){
a[i]=n%10;
b[i]=n%10;
n=n/10;
}
sort(a,a+4,cmp);
sort(b,b+4);
a1=a[0]*1000+a[1]*100+a[2]*10+a[3];
b1=b[0]*1000+b[1]*100+b[2]*10+b[3];
n=a1-b1;
printf("%04d - %04d = %04d\n",a1,b1,n);
if(n==0) break;
if(n==6174) break;
}
return 0;
}