代码1:
/*
数字黑洞
*/
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
bool cmp(char a, char b){
return a > b;
}
int main()
{
string str;
int temp;
cin >> str;
str.insert(0, 4-str.length(), '0');//从字符串0位置开始补4-str.length()个0
while(temp != 6174)
{
string a = str, b = str;
sort(a.begin(), a.end(), cmp);
sort(b.begin(), b.end());
temp = stoi(a) - stoi(b);//stoi函数:将string转化为int
str = to_string(temp);//to_string函数:将其他类型转化为string
str.insert(0, 4-str.length(), '0');
cout << a << " - " << b << " = " << str << endl;
if(temp == 0) break;
}
return 0;
}
代码2:
/*
数字黑洞
*/
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
bool cmp(char a, char b){
return a > b;
}
int main()
{
string str;
int temp;
cin >> str;
str.insert(0, 4-str.length(), '0');//在字符串一开始补0
do{
string a = str, b = str;
sort(a.begin(), a.end(), cmp);
sort(b.begin(), b.end());
temp = stoi(a) - stoi(b);
str = to_string(temp);
str.insert(0, 4-str.length(), '0');
cout << a << " - " << b << " = " << str << endl;
}while(str != "6174" && str != "0000");
return 0;
}