您的位置:首页 > 其它

PAT1019数字黑洞

2016-02-17 22:02 127 查看
#include<stdio.h>

#include<algorithm>

using namespace std;

int maxx,minn;

void process(int a)

{

int s[5];

s[0] = a/1000;

s[1] = a/100%10;

s[2] = a%100/10;

s[3] = a%10;

sort(s,s+4);

maxx = s[3]*1000 + s[2]*100 + s[1]*10 + s[0];

minn = s[0]*1000 + s[1]*100 + s[2]*10 + s[3];

}

int main()

{

int a;

scanf("%d",&a);

process(a);

if(a/1000 == a/100%10 && a/100%10 == a%100/10 && a%100/10 == a%10)

printf("%04d - %04d = 0000\n",a,a);

else

{

do

{

process(a);

int out = maxx - minn;

printf("%04d - %04d = %04d\n",maxx,minn,out);

a = out;

}while(a != 6174);

}

return 0;

}

进行数字运算的时候 ,最好还是使用整形的数组,这样会比较方便而且不易出错。将整数单位存入数组的方法要熟练。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: