□□□□×□=□□□□(将1~9这9个数不重复的填入这些空格中)
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/18 08:08:27
□□□□×□=□□□□(将1~9这9个数不重复的填入这些空格中)
□□□□×□=□□□□(将1~9这9个数不重复的填入这些空格中)
□□□□×□=□□□□(将1~9这9个数不重复的填入这些空格中)
一共只有两组
1738*4=6952
1963*4=7852
懊恼啊,打草稿啊
无解吧~~~~~~~~~~
1963*4=7852
一共只有两组
1738*4=6952
1963*4=7852
我的解法:
#include
#include
#include
int flag[10];
long product;
int ok(ans) ...
全部展开
一共只有两组
1738*4=6952
1963*4=7852
我的解法:
#include
#include
#include
int flag[10];
long product;
int ok(ans)
{
long tmp;
int i;
int flag2[10];
memset(flag2,0,sizeof(flag2));
if (ans>9876)
return 0;
for (i=1;i<=4;i++)
{
tmp=ans%10;
if (flag[tmp])
return 0;
else if (flag2[tmp])
return 0;
flag2[tmp]=1;
ans/=10;
}
return 1;
}
void dfs(long num)
{
int i;
for (i=1;i<=9;i++)
if (!flag[i])
{
flag[i]=1;
if (num<1000)
dfs(num*10+i);
else {
product=num*i;
if (ok(product))
printf("%ld*%d=%ld\n",num,i,product);
}
flag[i]=0;
}
}
int main()
{
memset(flag,0,sizeof(flag));
flag[0]=1;
dfs(0);
getch();
return 0;
}
作者: 221.0.24.* 2006-8-18 21:24
收起
1963*4=7852
设原题为A*B=C.
确定A的值即可求解。A1,A2,A3,A4分别代表A的千百十个位,C1,C2,C3,C4代表C的千百十个位
思路为讨论A1A2,寻找A3A4,这个题大都找到A3就给舍了。过程如下:
由题意得,A1只能为1,2,3,4
(1)·当A1=4时,B=2.A4只能为3,8,9,C4=6,6,8.
a:A1=4,A4=3,C4=6,找A3的取...
全部展开
设原题为A*B=C.
确定A的值即可求解。A1,A2,A3,A4分别代表A的千百十个位,C1,C2,C3,C4代表C的千百十个位
思路为讨论A1A2,寻找A3A4,这个题大都找到A3就给舍了。过程如下:
由题意得,A1只能为1,2,3,4
(1)·当A1=4时,B=2.A4只能为3,8,9,C4=6,6,8.
a:A1=4,A4=3,C4=6,找A3的取值,都无法成立
b:A1=4,A4=8,C4=6,A3取1,5,7只有A2=3时讲通,即4358*2=()716,但此时C1=8.舍
C:A1=4,A4=9,C4=6,观察4()()9*2=()()()8,C1最大为7,因此不成立
(2).A1=3时,B只能为2,A4=4,7,8,9,,C4=8,4,6,8,
a:A4=4,C4=8时,A3无取值
b:A4=7,C4=4时,A3=5,6,C3=5,1.A2无取值
C:A4=8,9时,A3,A2分别无取值
(3)当A1=2,B=3,4,B=3时A4=5689,C4=6958,再讨论A3A2的取值,so easy
(4)最关键也最麻烦是A1=1时,B同时可取234678六个值,算时B=2,C1=3.即B=@,C1=@+1.这样和上面一样,有五个空的取值,so
easy的可以解出1963*4=7852或1738*4=6952,这个过程解多了,取值时五个数过一遍就可以排除了,哎,打能些字累死了。
(((((我听说这是道智力测验,有简单方法请指教,不懂的请问))))))
收起
1 7 3 8 4 6 9 5 2
1 9 6 3 4 7 8 5 2
计算机求的,就这两组解了,不多不少