标签:
不断枚举除数即可,水的很,注意判断循环条件。
#include<cstdio>
#include<iostream>
using namespace std;
int main() {
int n, t = 0;
while (scanf("%d", &n) && n) {
if (t++) printf("\n");
bool flag2 = true;
for (int i = 1234; i != 50000; ++i) {
int a[10] = {0};
++a[i % 10];
++a[i / 10 % 10];
++a[i / 100 % 10];
++a[i / 1000 % 10];
++a[i / 10000];
int x = i * n;
if (x > 99999) break;
++a[x % 10];
++a[x / 10 % 10];
++a[x / 100 % 10];
++a[x / 1000 % 10];
++a[x / 10000];
bool flag = true;
for (int j = 0; j != 10; ++j) {
if (a[j] > 1) flag = false;
}
if (flag) {
flag2 = false;
if (i < 10000) printf("%d / 0%d = %d\n", x, i, n);
else printf("%d / %d = %d\n", x, i, n);
}
}
if (flag2) printf("There are no solutions for %d.\n", n);
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/liangyongrui/p/4666856.html