如何求解这类题型?abcde*a=eeeeee;求出eeeeee是什么数字时
或者求abc+bcd=xxx;求每a,b,c,具体是什么数值的算法题时,可以优先使用枚举法方便快捷 ;
abcde*a=eeeeee;
#include<stdio.h>
int main()
{
int i1,i2,i3,i4,i5;
long mult,result;
for(i1=1;i1<=9;i1++)
{
for(i2=0;i2<=9;i2++)
{
for(i3=0;i3<=9;i3++)
{
for(i4=0;i4<=9;i4++)
{
for(i5=1;i5<=9;i5++)
{
mult=i1*10000+i2*1000+i3*100+i4*10+i5;
result=i5*100000+i5*10000+i5*1000+i5*100+i5*10+i5;
if(mult*i1==result)
{
printf("%5d%2d%2d%2d%2d\n%",i1,i2,i3,i4,i5);
printf("x%12d\n",i1);
printf("______________\n");
printf("%3d%2d%2d%2d%2d\n",i5,i5,i5,i5,i5);
break;
}
}
}
}
}
}
getch();
return 0;
}
第二题:已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。 abc+bcd=xxx;
#include<stdio.h>
int main()
{
int xyz,yzz;
int x,y,z;
int sum=532;
int result=0;
for(x=1;x<=9;x++)
{
for(y=1;y<=9;y++)
{
for(z=0;z<=9;z++)
{
xyz=x*100+y*10+z;//321+211
yzz=y*100+z*10+z;
result=xyz+yzz;
if(sum==result)
{
printf("x=%d,y=%d,z=%d,%d;",x,y,z,result);
break;
}
}
}
}
getch();
return 0;
}
同样的方法求解而已;