题目描述
输入正整数n,遇到文件末尾结束。按从小到大顺序输出所有形如abcde/fghij=n的表达式,其中a到j恰好为数字0到9的一个排列(可以有前导0),无解输出“no answer”,n在2到79之间。
输入
一行输入一个整数n。
输出
形如abcde/fghij=n的表达式。
样例输入
62
样例输出
79546 / 01283 = 62
94736 / 01528 = 62
#include <iostream>
using namespace std;
int main() {
long n, k, count = 0;
cin >> n;
for (int i = 1234; i <= 98765 / n; ++i) {
int arr[10] = { 0 };
int tmpk = i * n, tmpi = i;
while (tmpk) {
arr[tmpk % 10]++;
tmpk /= 10;
}
while (tmpi) {
arr[tmpi % 10]++;
tmpi /= 10;
}
int flag = 0;
for (int i = 1; i < 10; ++i) {
if (arr[i] != 1) {
flag = 1;
break;
}
}
if (!flag) {
if (arr[0] == 0)
cout << i * n << " / 0" << i << " = " << n << endl;
else
cout << i * n << " / " << i << " = " << n << endl;
}
}
return 0;
}