7-44 黑洞数 (20分)

7-44 黑洞数 (20分)

#include<cstdio>
#include<algorithm>
using namespace std;

bool cmp(int a,int b)
{
	return a>b;
}
void toarray(int n,int num[])//将n的每一位存到num数组中 
{
	for(int i=0;i<3;i++)
	{
		num[i]=n%10;
		n=n/10;
	}
}
int tonum(int num[])//将数组转为数字 
{
	int sum=0;
	for(int i=0;i<3;i++)
	{
		sum=sum*10+num[i];
	}
	return sum;
} 

int main()
{
	int n,max,min;
	int num[4];
	int count=1;
	scanf("%d",&n);
	while(1)
	{
		toarray(n,num);//将n转换成数组
		sort(num,num+3);//对数组进行从小到大排序
		min=tonum(num);
		sort(num,num+3,cmp);//对数组进行从大到小排序
		max=tonum(num);
		n=max-min;
	    printf("%d : %d - %d = %d\n", count++, max, min, n);
	    if(n==0||n==495)break;
	}
	 return 0;
}

此题类似于PAT中B1019或A1069

发布了61 篇原创文章 · 获赞 0 · 访问量 562

猜你喜欢

转载自blog.csdn.net/qq_38054511/article/details/104071852
今日推荐