懒得搬运题目了,直接上代码
#include<iostream>
#include<algorithm>
#include<cstring>
#include<iomanip>
using namespace std;
int main()
{
int m=0,n=0;
int num=0; //num=m-n
char a[4]={'0','0','0','0'};
string str;
cin>>str;
for(int i=3,j=str.size();j>0;i--,j--)
a[i]=str[j-1];
bool judge=false;
while(num!=6174)
{
if(judge==true)
{
m=0,n=0;
for(int i=3;i>=0;i--)
{
a[i]=(num)%10+'0';
num/=10;
}
}
sort(a,a+4,greater<int>());
for(int i=0;i<4;i++)
m=m*10+a[i]-'0';
sort(a,a+4);
for(int i=0;i<4;i++)
n=n*10+a[i]-'0';
num=m-n;
if(num==0)
{
cout<<m<<" - "<<n<<" = "<<"0000";
break;
}
cout<<m<<" - ";
cout<<setw(4)<<setfill('0')<<setiosflags(ios::right)<<n;
cout<<" = ";
cout<<setw(4)<<setfill('0')<<setiosflags(ios::right)<<num<<endl;
judge=true;
}
return 0;
}
累死我了