智商高或运气好的同学进来

来源:百度文库 编辑:超级军网 时间:2024/05/03 22:58:17


把123456789这九个数字放入下面括号中使等式成立
1.这九个数字必须全部使用。
2.六个括号中的数字不许重复
3.单个数字不许重复使用
(  ) x (  )  =  (  ) x (  )  =  (  ) x (  )

如果是运气好,碰上的,请写出你的结果。如果暂时还没得到结果的请写出你的思路。
如果有从事软件行业或相关行业的,请写出算法。


注:某同事儿子作业上的题目(三年级)

------------------------------------------------
大家都很聪明,就不一 一回复了,我说说我的办法,我是把9个数字做成活动的纸方块
然后通过尾数来算的,从尾数为1开始到9结束。
比如4,那我就寻找1x4=4 ,4x6=24,6x9=54等等
这样从1开始,算到2的时候就凑出来了。总共尝试次数不超过30次。


另外求各种计算机算法。




把123456789这九个数字放入下面括号中使等式成立
1.这九个数字必须全部使用。
2.六个括号中的数字不许重复
3.单个数字不许重复使用
(  ) x (  )  =  (  ) x (  )  =  (  ) x (  )

如果是运气好,碰上的,请写出你的结果。如果暂时还没得到结果的请写出你的思路。
如果有从事软件行业或相关行业的,请写出算法。


注:某同事儿子作业上的题目(三年级)

------------------------------------------------
大家都很聪明,就不一 一回复了,我说说我的办法,我是把9个数字做成活动的纸方块
然后通过尾数来算的,从尾数为1开始到9结束。
比如4,那我就寻找1x4=4 ,4x6=24,6x9=54等等
这样从1开始,算到2的时候就凑出来了。总共尝试次数不超过30次。


另外求各种计算机算法。




这个是属于提高题,我女儿也做过的,不过我已经忘了怎么做了

这个是属于提高题,我女儿也做过的,不过我已经忘了怎么做了


简单  (2)*(6)=(3)*(4)=((5+7)*(9-8))*(1) 与其说考数学,不如说是考察孩子能否打破思维定式,题目没说不能在括号里加运算符,因该首先想到这是三八二十四的游戏

简单  (2)*(6)=(3)*(4)=((5+7)*(9-8))*(1) 与其说考数学,不如说是考察孩子能否打破思维定式,题目没说不能在括号里加运算符,因该首先想到这是三八二十四的游戏
ac58310 发表于 2012-10-15 15:13
简单  (2)*(6)=(3)*(4)=((5+7)*(9-8))*(1) 与其说考数学,不如说是考察孩子能否打破思维定式,题目没说不能 ...
忘了说了,里面不许加任何操作符号和括号
打个比方,
(12) x( 3) =(4)x(5)=(678)x(9)
这样的格式才行

不过鼓励下,你果然不走寻常路,现实生活里你的生意应该做的不错


买彩票从来没有中一等奖过
忘了说了,里面不许加任何操作符号和括号
打个比方,
(12) x( 3) =(4)x(5)=(678)x(9)

过奖,如果是这样的话,提示一点,因为5和任何数相乘个位只能是0和5所以5一定不会在个位,同理,乘积应该是偶数,容我再想想哈
18x9,54x3,27x6
推理方法如下:
首先,9个数凑6个数,就要有3个两位数。
冒出一个三位数,一个一位数的机会不大。简单验算就给否了。
而这三个两位数,再乘一位,肯定比较均衡,大数和小数要错开。
1肯定最容易和8、9组合。
而且,其中六个个位数,两两相乘,决定了结果数的个位数(这是最关键的一个线索!)
我们就算用穷举法吧,结果数个位数是1,基本不可能。
2,可以凑出八九七十二,六十四十二,三四一十二。
好,看来是2.
结合刚才设想,18乘9或者19乘8,发现19乘8得152,没法凑另外的。
那么,18乘9,得162,然后用3、4、6、7试验性的往下除,发现结果。
比我快了啊
我算出了54 18 27
主要就是使用了模糊估算、特定位数的共同特征、穷举试验等方法。
这个更多依靠的是多年经验累积出的晶体智力,而非纯粹靠聪明的流体智力。
所以,奥数也是可以训练而得的。
peachtime 发表于 2012-10-15 16:07
推理方法如下:
首先,9个数凑6个数,就要有3个两位数。
冒出一个三位数,一个一位数的机会不大。简单验算 ...
我是用108来推算的。
上一位兄弟擅长发散思维,我则是擅长工科的估算和寻找技术途径了。
9个数填到3个式子里基本是一位数乘以两位数,又3个得数相同,一边增大几倍另一边就得减少几倍,而能成比例就是3、6、9,两位数怎么算就不知道了
已注册用户名 发表于 2012-10-15 16:13
9个数填到3个式子里基本是一位数乘以两位数,又3个得数相同,一边增大几倍另一边就得减少几倍,而能成比例就 ...

同时还可以利用369 248的关系来推测。
5这个数字特殊。肯定是在十位数的。


看帖晚了,楼上已经有人说出答案了,不过我就说说算法吧,其实这贴还真是很符合小学生的知识储备
这题基本上在靠分解质因数。3个运算得出同一个数,那么也可以看成一个数分解因数后,因数的不同搭配方式,结合这道题的特点,因数中不可能有很大的质数,这里面就有两个很关键的数字,5和7。
5的特点决定了它只能在十位,7的特点决定了它的搭配方式,前面已经说了因数中不可能有很大的质数。那么7的搭配方式就两个27或者72。27的话分解是2的立方,72的话分解是2的立方乘以3的平方,很明显这时候和5搭配的就该是4,因为54的分解结果是2乘以3的立方。
主要的数字,已经主要的因数出来以后,结果就很容易了,54*3=27*6=18*9
这是因为54=2*3*3*3
           27=3*3*3
那么27至少要乘以一个2,但是2已经出现了,那就只能乘以另一个偶数,剩下的就只有6和8。如果是6,那么54就是乘以3,剩下的正好就是18*9。
如果是8,那么54就必须乘以4,排除。
类似的方法也可以迅速排除72。

看帖晚了,楼上已经有人说出答案了,不过我就说说算法吧,其实这贴还真是很符合小学生的知识储备
这题基本上在靠分解质因数。3个运算得出同一个数,那么也可以看成一个数分解因数后,因数的不同搭配方式,结合这道题的特点,因数中不可能有很大的质数,这里面就有两个很关键的数字,5和7。
5的特点决定了它只能在十位,7的特点决定了它的搭配方式,前面已经说了因数中不可能有很大的质数。那么7的搭配方式就两个27或者72。27的话分解是2的立方,72的话分解是2的立方乘以3的平方,很明显这时候和5搭配的就该是4,因为54的分解结果是2乘以3的立方。
主要的数字,已经主要的因数出来以后,结果就很容易了,54*3=27*6=18*9
这是因为54=2*3*3*3
           27=3*3*3
那么27至少要乘以一个2,但是2已经出现了,那就只能乘以另一个偶数,剩下的就只有6和8。如果是6,那么54就是乘以3,剩下的正好就是18*9。
如果是8,那么54就必须乘以4,排除。
类似的方法也可以迅速排除72。
top120 发表于 2012-10-15 16:32
看帖晚了,楼上已经有人说出答案了,不过我就说说算法吧,其实这贴还真是很符合小学生的知识储备
这题基本 ...
1也不可能单独一个数字在10位数的可能也很大。
wcgsjo 发表于 2012-10-15 16:16
同时还可以利用369 248的关系来推测。
5这个数字特殊。肯定是在十位数的。
不会那么深,用笨办法凑,9最大,那么从最小的组合开始给它,又因为是1.5倍,所以先从能被3整除的试, 12、15 、18、21……然后乘以1.5排除一次,再乘以2排除一次,直到碰对为止:sleepy:

已注册用户名 发表于 2012-10-15 16:36
不会那么深,用笨办法凑,9最大,那么从最小的组合开始给它,又因为是1.5倍,所以先从能被3整除的试, 12 ...


那样更麻烦。还是寻找可能的乘积最快。这个数字能够*2*3来得出。基本上可以从6的倍数中寻找。由于很可能是2位数和1位数的乘法结果。很可能在3位数。
已注册用户名 发表于 2012-10-15 16:36
不会那么深,用笨办法凑,9最大,那么从最小的组合开始给它,又因为是1.5倍,所以先从能被3整除的试, 12 ...


那样更麻烦。还是寻找可能的乘积最快。这个数字能够*2*3来得出。基本上可以从6的倍数中寻找。由于很可能是2位数和1位数的乘法结果。很可能在3位数。
能关注到以5和7比较难跟其他数字做某个整数的公约数,这题就好解决了。
这道题二年级的孩子可以多做做,做上一个周末,乘法口诀绝对滚瓜烂熟。倒未必要他们一定出个思路来。
wcgsjo 发表于 2012-10-15 16:34
1也不可能单独一个数字在10位数的可能也很大。
1这个数字变化比较大,所以作为切入点不合适。关键是5和7,这个数字可以很快决定6个数字,那么结果自然也就很快出来了。
top120 发表于 2012-10-15 16:41
1这个数字变化比较大,所以作为切入点不合适。关键是5和7,这个数字可以很快决定6个数字,那么结果自然也 ...
157 都是质数 决定了他们不可能单独列为一个数。
半个小时没算出来…
楼上一群高人。
78*2=39*4=156囧
54X3=27X6=18X9
KAO,费了下十多分钟,才解了道三年级的题,罪过啊罪过啊。
一开始只是和5这个数较劲,这个数放在个位上绝对是摆不平的,只能放在十位上,然后想5后面可以带个什么数,1、3、7、9显然都不合适(不然计数也太复杂了,超过了一般数趣题的范围),2也好不到哪到,比较合适的只有4和6,分别拿出来试一下,然后就想起了9个这个变态数字来。
骗人!一共9个数字,只有6个括号,怎么可能全用上?多出的3个数字被出题人吃了?
幸运值常年为E。只是进来看看。。
计算机解法已经想好,还没有实现,尽快上传~~~
计算机算法?
应该不难吧.
计算机就是遍历啊~~~
设有公因子(m*n)。可得:

(x*m*n)*(y)=(x)*(y*m*n)=(x*m)*(y*n)

穷举x,y,m,n,选出满足条件123的即可
AAFox 发表于 2012-10-16 13:45
设有公因子(m*n)。可得:

(x*m*n)*(y)=(x)*(y*m*n)=(x*m)*(y*n)
这个公式好像不能用于任意9个数的计算把.
计算机解法已经想好,还没有实现,尽快上传~~~
thank you
2012-10-16 19:22 上传

345,267,189

有个由远及近的分布
3*54=6*27=9*18
C++代码如下:
#include <stdio.h>
#include<math.h>

void TestXY(int a);//对一个整数a分解因式,获取任意两个因数的数组
bool Check(int a,int b,int c,int d,int e,int f);//检验该组因式是否符合要求
void main(void) {

        for(int i=0;i<=1000;i++ )//分别尝试1000以内的数字
        {
                TestXY(i);//分解因式,并检验
        }
       
        char ch = getchar();
}





void TestXY(int a)
{
        int b[2][100];
        int n = int(sqrt(float(a)));
        int j = 0;

    if(a%5 == 0)//不可以被5整除
        {
                return;
        }
        for(int i = 1;i<n;i++)//分解因式
        {
                if((a%i)==0)
                {
                   b[0][j] = i;
                        b[1][j] = a/i;
                        j++;
                }
        }
    if(j<3)//至少3组因式
        {
                return;
        }

        for(int i1 = 0;i1<j;i1++)
        {
        for(int i2 =i1+1;i2<j;i2++)
                        for(int i3=i2+1;i3<j;i3++)
                        {
                                if(Check(b[0][i1],b[1][i1],b[0][i2],b[1][i2],b[0][i3],b[1][i3]) == true)//从所有的因式组内挑三条进行检验
                                {
                                        printf("%d",b[0][i1]);//如果符合要求,则输出
                                        printf("*");
                                        printf("%d",b[1][i1]);
                                        printf("=");
                                        printf("%d",b[0][i2]);
                                        printf("*");
                                        printf("%d",b[1][i2]);
                                        printf("=");
                                        printf("%d",b[0][i3]);
                                        printf("*");
                                        printf("%d",b[1][i3]);
                    printf("\n");
                                }
                        }

        }

}

bool Check(int a,int b,int c,int d,int e,int f)//检验该组因式是否只含有123456789
{
    int n[18],intf;
        n[0] = a/100;
        n[1] = (a - n[0]*100)/10;
        n[2] = (a - n[0]*100 - n[1]*10);
                n[3] = b/100;
        n[4] = (b - n[3]*100)/10;
        n[5] = (b - n[3]*100 - n[4]*10);
                n[6] = c/100;
        n[7] = (c - n[6]*100)/10;
        n[8] = (c - n[6]*100 - n[7]*10);
                n[9] = d/100;
        n[10] = (d - n[9]*100)/10;
        n[11] = (d - n[9]*100 - n[10]*10);
                n[12] = e/100;
        n[13] = (e - n[12]*100)/10;
        n[14] = (e - n[12]*100 - n[13]*10);
                n[15] = f/100;
        n[16] = (f - n[15]*100)/10;
        n[17] = (f - n[15]*100 - n[16]*10);

    for(int i = 1;i<10;i++)
        {
                intf = 0;
                for(int j=0;j<18;j++)
                {
                        if(i==n[j])
                        {
                                intf++;
                        }
                }
                if(intf != 1)
                {
                        return false;
                }

        }
        return true;

}
KaifuLee 发表于 2012-10-16 19:04
thank you
抱歉,前段时间忙,忘了。今天补上~~~
阿魏 发表于 2012-12-24 13:27
结果:3*54=6*27=9*18
C++代码如下:
#include
非常感谢,非常感谢,你很牛啊
除了折磨小孩之外,还有什么作用。
用c++做循环可以算出来。不过现在小学一二年级的作业,不要说学生,就是家长都觉得头疼。就算帮孩子做了,孩子也根本理解不了