题目:一个2位数乘以一个3位数等于一个4位数,这3个数的全部9个数字取自1到9, 不得重复,编程求这3个数分别是?
能帮忙指出代码中的错误吗?
代码:
#include<stdio.h>
int main()
{
int i,j,k,n,a[10]={0},b[3],flag=1;
for(j=123;j<=987;j++)
{
for(i=12;i<=98;i++)
{
if(i*j<1234||i*j>9876)
continue;
b[0]=i;
b[1]=j;
b[2]=i*j;
for(k=0;k<3;k++)
{
n=b[k];
while(n)
{
a[n%10]=1;
n/=10;
}
}
for(k=0;k<10;k++)
{
if(a[k]!=1)
{
flag=0;
break;
}
}
if(flag)
{
printf("%d %d %d",i,j,i*j);
break;
}
}
}
return 0;
}