用枚举法输出如
## *## =####
#代表一个数字
要求用1到9组成式子且不重复,每个数字出现一次
自己打的代码
#include<stdio.h>
#include
int main(void)
{
long a = 10, b = 10, c = 10, d = 10;
int h[9] = { 0 }, i = 1, j = 1, num = 1;
for (a = 10;a < 100;a++)
{
for (b = 10;b < 100;b++)
{
for(c=10;c<100;c++)
{
for (d = 100;d<1000;d++)
{
if (a * b == c * d)
{
h[0] = a / 10;
h[1] = a % 10;
h[2] = b / 10;
h[3 ]= b % 10;
h[4] = c / 10;
h[5] = c % 10;
h[6 ]= d / 100;
h[7] = d % 100 / 10;
h[8] = d % 10;
for (i = 0;i < 9;i++)
{
if(h[i]==0)
{
num = 0;
continue;
}
for (j = i - 1;j < 9;j++)
{
if (h[i] == h[j])
num = 0;
else
continue;
}
}
if (num)
printf("%ld*%ld=%ld*%ld\n", a, b, c, d);
else
num = 1;
}
}
}
}
}
return 0;
}
不对,可能理解错误,没有