1069 The Black Hole of Numbers (20 point(s))

1069 The Black Hole of Numbers (20 point(s))

题解

string的成员函数insert有以下多种重载:

string &insert(int p0, const char *s);——在p0位置插入字符串s

string &insert(int p0, const char *s, int n);——在p0位置插入字符串s的前n个字符

string &insert(int p0,const string &s);——在p0位置插入字符串s

string &insert(int p0,const string &s, int pos, int n);——在p0位置插入字符串s从pos开始的连续n个字符

string &insert(int p0, int n, char c);——在p0处插入n个字符c

iterator insert(iterator it, char c);——在it处插入字符c,返回插入后迭代器的位置

void insert(iterator it, const_iterator first, const_iteratorlast);——在it处插入从first开始至last-1的所有字符

void insert(iterator it, int n, char c);——在it处插入n个字符c

 

#include<iostream>
#include<string>
#include<cstdio>
#include<algorithm>
using namespace std;
int main() {
	string a, b, t;
	cin >> t;
	t.insert(0, 4 - t.length(), '0');
	do {
		b = a = t;
		sort(a.begin(), a.end());
		sort(b.begin(), b.end(), greater<char>());
		int result = stoi(b) - stoi(a);
		t = to_string(result);
		t.insert(0, 4 - t.length(), '0');
		cout << b << " - " << a << " = " << t << endl;
	} while(t != "0000" && t != "6174");
	return 0;
}