#include <iostream>
#include <istream>
#include <sstream>
#include <vector>
#include <stack>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <cstring>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <numeric>
#include <chrono>
#include <ctime>
#include <cmath>
#include <cctype>
#include <string>
#include <cstdio>
#include <iomanip>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <functional>
#include <iterator>
using namespace std;
int main()
{
int n, a, len, cnt, flag, t = 0;
char buf[20];
while (cin >> n && n) {
cnt = 0;
if (t++) cout << endl;
for (int i = 1234;; i++) {
a = i * n;
len = sprintf(buf, "%05d%05d", i, a);
if(len > 10) break;
sort(buf, buf + 10);
flag = 1;
for (int j = 0; j < 10; j++) {
if (buf[j] != '0' + j) {
flag = 0;
break;
}
}
if (flag) {
cnt++;
cout << setfill('0') <<setw(5) << a << " / " << setfill('0') << setw(5)<< i << " = "<<n<<endl;
}
}
if (!cnt) cout << "There are no solutions for " << n << "." << endl;
}
return 0;
}
例题7-1(uva-725)
最新推荐文章于 2021-05-25 19:37:40 发布
该程序寻找形如 '00000xy00000' 的数字对,其中 'x' 和 'y' 是任意数字,且数字对满足 'xy' 乘以一个整数 'n' 后,将 'xy' 和结果按五位一组重新排列后的数字完全由0到9的升序组成。程序遍历所有可能的 'xy' 和 'n' 来找到满足条件的解。
457

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



