标签:
不断枚举除数即可,水的很,注意判断循环条件。
#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