枚举法的简单应用,水题,先A了。
#include<stdio.h>
#include<string.h>
int num[11] = {0};
int judge(int a, int b)
{
int i;
for(i = 1; i <= 5; i++)
{
if(!num[a % 10])
{
num[a % 10]++;
a /= 10;
}
else return 0;
}
for(i = 1; i <= 5; i++)
{
if(!num[b % 10])
{
num[b % 10]++;
b /= 10;
}
else return 0;
}
return 1;
}
int main()
{
int i;
int N, times = 0;
while(scanf("%d", &N)&& N)
{
!times ? : printf("\n");
++times;
int sign = 0;
for(i = 1000; i <= 50000; i++)
{
memset(num, 0, sizeof(num));
if(judge(i * N, i)&& i * N <= 99999)
{
sign = 1;
printf("%05d / %05d = %d\n", N * i, i, N);
}
}
sign == 1? : printf("There are no solutions for %d.\n", N);
}
return 0;
}
浙公网安备 33010602011771号