九个数字填入空格中,使等式成立

时间:2021-09-10 08:11:37

 用1、2、3、4、5、6、7、8、9这9个数字,填入□ 中使等式□□×□□□ =□□□□ 成立,每个数字恰好只用一次。

以下是所有的7 个答案供参考:
12
´ 483 =579618´ 297 = 534627´ 198 =5346
28
´ 157 =439639´ 186 = 725442´ 138 =5796
48
´ 159 =7632

#include<iostream>

using namespace std;

bool check(int x,int y,int z)
{
int a[10]={0};
int k=0;
a[x/10]+=1;
a[x%10]+=1;
a[y%10]+=1;
a[y/10%10]+=1;
a[y/100]+=1;
a[z%10]+=1;
a[z/10%10]+=1;
a[z/100%10]+=1;
a[z/1000]+=1;
if(a[0]==0){
for(int i=1;i<10;i++)
{
if(a[i]==1)
k++;
}
if(k==9)
return true;
else
return false;
}
else
return false;
}

void main()
{
int x,y,z;
for(x=12;x<=98;x++)
{
for(y=123;y<=987;y++)
{
z=x*y;
if(z>9999)
break;
if(check(x,y,z))
cout<<x<<"*"<<y<<"="<<z<<endl;
}
}
}

九个数字填入空格中,使等式成立