#include <iostream>
#include <iomanip>
using namespace std;
bool unique(int abcde, int fghij);
int main()
{
int n = 0;
while(cin >> n) {
for (int fghij = 1234; fghij <= 98765; fghij++) { #暴力枚举
int abcde = n * fghij;
if (abcde >= 100000) { #abcde大于6位,结束遍历
break;
}
if (unique(abcde, fghij)) { // 判断abcde,fghij是否重复
cout << abcde << " / " << setw(5) << setfill('0') << fghij << " = " << n << endl;
}
}
}
return 0;
}
bool unique(int abcde, int fghij) {
int a[10] = {0};
for (int i = 0; i < 5; i++) {
int index = abcde % 10;
abcde = abcde / 10;
if (a[index] == 1) {
return false;
} else {
a[index] = 1;
}
}
for (int i = 0; i < 5; i++) {
int index = fghij % 10;
fghij = fghij / 10;
if (a[index] == 1) {
return false;
} else {
a[index] = 1;
}
}
return true;
}
例题7-1
最新推荐文章于 2024-10-17 11:39:06 发布