PTA B1019 数字黑洞(简单数学)

题目链接:PTA 1019 数字黑洞
PTA B1019 数字黑洞(简单数学)_第1张图片
PTA B1019 数字黑洞(简单数学)_第2张图片
PTA B1019 数字黑洞(简单数学)_第3张图片
PTA B1019 数字黑洞(简单数学)_第4张图片

#include
#include
#include
#include
#include
#include
#define INF 0x3f3f3f3f
#define LL long long

using namespace std;
int a[10];

int cmp(int x, int y)
{
	return x>y;
}

void to_array(int n)
{
	for(int i=4;i>=1;i--)
	{
		a[i] = n%10;
		n /= 10;
	} 
}

int to_number(int a[])
{
	int sum = 0;
	for(int i=1;i<=4;i++)
		sum = sum*10 + a[i];
	return sum;
}

int main()
{
	int n;
	scanf("%d",&n);
	while(1)
	{
		to_array(n);
		sort(a+1,a+5,cmp);
		int max = to_number(a);
		sort(a+1,a+5);
		int min = to_number(a);
		n = max-min;
		printf("%04d - %04d = %04d\n",max,min,n);	//输出前导零 捣鼓了半天 菜死 
		if(n==0||n==6174)
			break;
	}
	
		
		
	return 0;
}

你可能感兴趣的:(数学思维)