1069. The Black Hole of Numbers (20)

来源:互联网 发布:嵌入式和java哪个难学 编辑:程序博客网 时间:2024/05/16 00:49

1069. The Black Hole of Numbers (20)

#include <iostream>#include <algorithm>using namespace std;class CA{public:enum{digit_num=4,blackhole_num=6174};void run();int n;int goblackhole(int k);};int CA::goblackhole(int k){int a[digit_num],i,r1,r2;for(i=0;i<digit_num;i++){a[i]=k%10;k/=10;}sort(a,a+digit_num);r1=a[3]*1000+a[2]*100+a[1]*10+a[0];r2=a[0]*1000+a[1]*100+a[2]*10+a[3];printf("%04d - %04d = %04d\n",r1,r2,r1-r2);return r1-r2;}void CA::run(){scanf("%d",&n);while(n>0){n=goblackhole(n);if(n==blackhole_num) break;}}int main(){//freopen("test.in","r",stdin);CA *a=new CA;a->run();return 0;}