#include<iostream>
#include<algorithm>
using namespace std;
int input,n1,n2;
int number1[4];
int processLess(int input)
{
for(int i=0;i<4;i++)
{
number1[i]=input%10;
input/=10;
}
sort(number1,number1+4);
int toreturn=0;
for(int i=0;i<4;i++)
{
toreturn=toreturn*10+number1[i];
}
return toreturn;
}
bool big(const int A,const int B)
{
return A>B;
}
int processBig(int input)
{
for(int i=0;i<4;i++)
{
number1[i]=input%10;
input/=10;
}
sort(number1,number1+4,big);
int toreturn=0;
for(int i=0;i<4;i++)
{
toreturn=toreturn*10+number1[i];
}
return toreturn;
}
int main()
{
cin>>input;
while(true)
{
n1=processBig(input);
cout.fill('0');
cout.width(4);
cout<<n1<<" - ";
n2=processLess(input);
cout.width(4);
cout<<n2<<" = ";
input=n1-n2;
cout.width(4);
cout<<input<<endl;
if(input==0||input==6174)
{
break;
}
}
}
PAT1019数字黑洞 (20)
最新推荐文章于 2024-06-10 13:00:39 发布
本文介绍了一个简单的C++程序,该程序通过不断重复处理四位数以达到数字6174或0,展示了如何使用排序和基本的算术操作来实现这一过程。程序包括读取输入、处理最大和最小排列以及计算差值等功能。
556

被折叠的 条评论
为什么被折叠?



