通过大量库函数快速完成此题.
比如 sort对字符串排序
string.length()来对不足4位的数字补0
to_string()将string快速转为int
(还有个astox函数可以实现string.c_str()快速转数字)
掌握一些库函数有利于快速做题
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int str2num(string str){
int num = 0;
for(unsigned int i=0; i<str.length(); i++){
num = num * 10 + str[i] - '0';
}
return num;
}
int main(){
string str;
cin>>str;
while(str.length()<4){
str = '0' + str;
}
do{
string minstr(str), maxstr(str);
sort(minstr.begin(), minstr.end(), less<char>());
sort(maxstr.begin(), maxstr.end(), greater<char>());
int minnum = str2num(minstr);
int maxnum = str2num(maxstr);
str = to_string(maxnum - minnum);
while(str.length()<4){
str = '0' + str;
}
cout<<maxstr<<" - "<<minstr<<" = "<<str<<endl;
}while(str!="6174" && str!="0000");
return 0;
}