
假设abcd代表数字一到九中的五个数字且各不相同,满足A B C×D=Ac*dbe,这样的形式的算式有系咯,例如A等于1,B等于8,C等于7,d等于五,e等于三,则187×53=17×15873等于9911。打印三行,第一行为解的个数第二行算式最小值第三行算是最大值。
希望大家能帮助我

假设abcd代表数字一到九中的五个数字且各不相同,满足A B C×D=Ac*dbe,这样的形式的算式有系咯,例如A等于1,B等于8,C等于7,d等于五,e等于三,则187×53=17×15873等于9911。打印三行,第一行为解的个数第二行算式最小值第三行算是最大值。
希望大家能帮助我
#include <stdio.h>
int main()
{
int cnt = 0, max, min;
for (int a = 1; a <= 9; a++)
{
for (int b = 1; b <= 9; b++)
{
for (int c = 1; c <= 9; c++)
{
for (int d = 1; d <= 9; d++)
{
for (int e = 1; e <= 9; e++)
{
if (a == b || a == c || a == d || a == e || b == c || b == d || b == e || c == d || c == e || d == e)
continue;
if ((a*100+b*10+c)*(d*10+e)==(a*10+c)*(d*100+b*10+e))
{
//printf("%d%d%d*%d%d=%d%d*%d%d%d\n", a, b, c, d, e, a, c, d, b, e);
if (cnt == 0)
{
max = min = (a*100+b*10+c)*(d*10+e);
}
else
{
if ((a*100+b*10+c)*(d*10+e) > max) max = (a*100+b*10+c)*(d*10+e);
if ((a*100+b*10+c)*(d*10+e) < min) min = (a*100+b*10+c)*(d*10+e);
}
cnt++;
}
}
}
}
}
}
printf("%d\n%d\n%d", cnt, min, max);
return 0;
}
142
3542
64152