shshsh_0510
发表于 2012-4-25 08:24:40
可以这样思考:
1) 首先需要确认,乘积的最高位最小只可能是4
2)其次,要使乘积最小,猜测 就应该让三位数的首位是1,二位数的首位是2,(因为二位数每增加1,只会使乘积增加100多,乘积最小的可能性最大),
...
wayne 发表于 2012-4-24 18:40 http://bbs.emath.ac.cn/images/common/back.gif
如何确认最高位是4呢?
shshsh_0510
发表于 2012-4-25 08:28:37
是忘了说明取自然数,小学5年级奥数题目,但是别告诉我你知道答案是等于几哦,它是个错题
creasson 发表于 2012-4-24 13:25 http://bbs.emath.ac.cn/images/common/back.gif
哪错了:Q:
平均数是67,去掉81后变为65,所以81-67=14,即除了81外还有7个数
7个自然数均值为65,如果不要求各不相同的话,那么6个为1,剩下的一个为65*7-6=449
不是这样的么?
sheng_jianguo
发表于 2012-4-25 09:02:03
哪错了:Q:
平均数是67,去掉81后变为65,所以81-67=14,即除了81外还有7个数
7个自然数均值为65,如果不要求各不相同的话,那么6个为1,剩下的一个为65*7-6=449
不是这样的么?
shshsh_0510 发表于 2012-4-25 08:28 http://bbs.emath.ac.cn/images/common/back.gif
我理解他认为错的理由是:满足条件的数组是不确定的,故这组数中最大数也是不确定的(不能得出这组数中最大数)。但如果问:满足条件所有组数中最大数是多少?就没有问题了
mathematica
发表于 2012-4-25 13:45:12
这个还是Mathematica比较擅长吧 Do, Print], {a, 12, 98}, {b, 123, 987}]Shift+Enter立马出结果
hujunhua 发表于 2012-4-23 23:25 http://bbs.emath.ac.cn/images/common/back.gif
可以直接按数字键盘右下角的enter,而不用shift+enter,这样更省力一点,
我通常都是直接按数字键盘右下角的enter
zeroieme
发表于 2012-4-25 14:09:03
首先设单位的乘积如下
AC=j
AD=k
AE=l
BC=m
BD=n
BE=o
列出伪竖式
C D E
A B
————————————————
m n o
j k l
————————————————
F G H I
因为2位*3位=4位,所以首位没有进位。再加上令FGHI最小,所以A=1、C=2或A=2、C=1,由此,j=2。
(m+k)
=(2B+D)<-A=1、C=2
或=(B+2D)<-A=2、C=1
想令F=3,(m+k)/10=1……余数
B、D也有可选空间,不见得F必须选4:dizzy:
mathematica
发表于 2012-4-25 14:51:09
{
for(X=1,9!,
/*每次给出一个排列*/
z=numtoperm(9,X);
/*形成九个数字*/
a=z;b=z;
c=z;d=z;e=z;
f=z;g=z;h=z;i=z;
/*形成三个数*/
ab=a*10+b;
cde=c*100+d*10+e;
fghi=f*1000+g*100+h*10+i;
if(ab*cde==fhgi,print(z))
)
}
上面是我用pari/gp写的程序,我想知道为什么运行没有结果呀??
mathe,你能告诉我吗?
你也可以直接下载文件
mathematica
发表于 2012-4-25 15:16:49
/*大括号似乎是不可少的*/
{
for(X=1,9!,
/*每次给出一个排列*/
z=numtoperm(9,X);
/*形成九个数字*/
a=z;b=z;
c=z;d=z;e=z;
f=z;g=z;h=z;i=z;
/*形成三个数*/
ab=a*10+b;
cde=c*100+d*10+e;
fghi=f*1000+g*100+h*10+i;
/*计算ab*cde与fghi的比较,其中ab*cde左右两边的等号不可以缺少,
其中原因不知道为什么;
如果梁个值相等,则输出结果,如果不等则不执行操作*/
if((ab*cde)==fghi,
print(z)
)
)
}
我自己找到原因了!pari/gp真是他妈的奇怪!!!!!!!!!!!!!!!
mathematica
发表于 2012-4-25 15:24:05
/*大括号似乎是不可少的*/
{
for(X=1,9!,
/*每次给出一个排列*/
z=numtoperm(9,X);
/*形成九个数字*/
a=z;b=z;
c=z;d=z;e=z;
f=z;g=z;h=z;i=z;
/*形成三个数*/
ab=a*10+b;
cde=c*100+d*10+e;
fghi=f*1000+g*100+h*10+i;
/*计算ab*cde与fghi的比较,其中ab*cde左右两边的等号不可以缺少,
其中原因不知道为什么;
如果梁个值相等,则输出结果,如果不等则不执行操作*/
if((ab*cde)==fghi,
print(z)
)
)
}
程序代码以及求解结果见图片!!!!!!!!!!!!!
使用pari/gp运行!
mathematica
发表于 2012-4-25 15:34:54
其中ab*cde左右两边的等号不可以缺少,是括号,不是等号!
mathematica
发表于 2012-4-25 15:48:28
我写的程序几百年后都仍然有人能看明白,真是嫉妒我自己!!!!!!!!!!!!!!!!!!!!!!!!!