s*******n 发帖数: 4605 | 1 周末去换机油,garage老板是黎巴嫩人,说他女儿读高中,一道数学题怎么解都解不了
,他本人也不会,认为impossible,请我帮忙解。
题目:
0~9这十个数字,每个只能用一次,组成两个五位数,令它们的商为9。
我拿回家做了15分钟,找到了3个答案。就是觉得用语言把解题过程写下来比较麻烦,
问问大家谁能简单表述一下方法? |
z****e 发帖数: 54598 | |
n*****t 发帖数: 22014 | 3 数学题还是编程题啊?01234 这种形式算不算?不算的话:
设 X=9Y, X= x5*10000+x4*1000 ... + x1
1、x5=9, y5=1
2、x4=2, y4=0
2、x3=7, y3=3
3、剩下 4567,其中两个数的和必须为 9,那只有 45,但 92745/9 != 10367
==> x5 != 9
再依次类推 |
s*******n 发帖数: 4605 | 4 老兄,你的答案好像错了。
三个解分别是:
95823/10647
95742/10638
97524/10836
【在 n*****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 数学题还是编程题啊?01234 这种形式算不算?不算的话: : 设 X=9Y, X= x5*10000+x4*1000 ... + x1 : 1、x5=9, y5=1 : 2、x4=2, y4=0 : 2、x3=7, y3=3 : 3、剩下 4567,其中两个数的和必须为 9,那只有 45,但 92745/9 != 10367 : ==> x5 != 9 : 再依次类推
|
r****s 发帖数: 1025 | 5 不就是乘法99表吗?
19得9
2918
3927
4936
5945
6954
7963
8972
9981. |
r*******3 发帖数: 10886 | 6 你怎么解的?
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 老兄,你的答案好像错了。 : 三个解分别是: : 95823/10647 : 95742/10638 : 97524/10836
|
r****s 发帖数: 1025 | 7 2, 18
3, 27
4, 36,
6, 54
7, 63
8, 72
9, 81
and so on. |
m*****o 发帖数: 2084 | 8 这个题可以简化为4位数的运算,
因为,第一个数,必然是9和1, 要不就超出范围了。
所以,变成ABCD/xyzt=9的问题。
进一步缩减。 |
n*****t 发帖数: 22014 | 9 哈,我只推到 x4=2,脑子秀逗了。01234 不合格的话,确实比较简单。
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 老兄,你的答案好像错了。 : 三个解分别是: : 95823/10647 : 95742/10638 : 97524/10836
|
s*******n 发帖数: 4605 | 10 我的解法是:
(先定义两个数的名字:numerator,denominator)
n1 n2 n3 n4 n5 |
|
|
r*******3 发帖数: 10886 | 11 嗯,这样缩小范围后再穷举的确不会耗时太多
不过估计你得费时间跟人解释为啥这样缩小范围。。。。。
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我的解法是: : (先定义两个数的名字:numerator,denominator) : n1 n2 n3 n4 n5
|
m*****o 发帖数: 2084 | 12 要我也会这么解。
这相当于排列组合中的手排法,把你的组合一个个找出来,
适宜比较少的情况。
要是多了,这办法就不可行了。
发信人: simpleton (傻逸), 信区: Military
标 题: Re: 美国高中数学题
发信站: BBS 未名空间站 (Mon Nov 22 16:15:33 2010, 美东)
我的解法是:
我的解法是:
(先定义两个数的名字:numerator,denominator)
n1 n2 n3 n4 n5 |
m*****o 发帖数: 2084 | 13 除了你的以上4点之外,
还要满足
A+B+C+D= 和,至少要被3整除,所以又可以剃掉一批,
总之,还是比较好找的。 |
n*****t 发帖数: 22014 | |
S****t 发帖数: 2183 | 15 [1] 57429
[1] 6381
[1] "---------------"
[1] 58239
[1] 6471
[1] "---------------"
[1] 75249
[1] 8361
[1] "---------------"
[1] 95742
[1] 10638
[1] "---------------"
[1] 95823
[1] 10647
[1] "---------------"
[1] 97524
[1] 10836
[1] "---------------"
一共六组解。 |
s*******n 发帖数: 4605 | 16 具体操作中不需要理会这个条件,因为是在分母中开始穷举,再乘以9进行试验,既然
乘以9,那肯定满足你的这个条件。
【在 m*****o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 除了你的以上4点之外, : 还要满足 : A+B+C+D= 和,至少要被3整除,所以又可以剃掉一批, : 总之,还是比较好找的。
|
r********n 发帖数: 7441 | 17 有三个关系可以利用:
1)1~9中任意一个数乘于9后所得的数的十位数+个位数之和总是为9
2)1~9中任意一个数(假设为a)乘于9后所得数的个位数是 10-a
3)1~9中任意一个数(假设为a)乘于9后所得数的十位数是 a-1
比如 2*9 = 18 => 1 + 8 = 9,18的个位数是8 = 10-2,十位数是2-1=1
那个算法有问题,我删了
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 周末去换机油,garage老板是黎巴嫩人,说他女儿读高中,一道数学题怎么解都解不了 : ,他本人也不会,认为impossible,请我帮忙解。 : 题目: : 0~9这十个数字,每个只能用一次,组成两个五位数,令它们的商为9。 : 我拿回家做了15分钟,找到了3个答案。就是觉得用语言把解题过程写下来比较麻烦, : 问问大家谁能简单表述一下方法?
|
r*******3 发帖数: 10886 | 18 RE
【在 n*****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谁来写个漂亮的算法,穷举也要高雅一点 :D
|
s*******n 发帖数: 4605 | 19 感觉这样枚举的次数比我那个算法还要多啊。
【在 r********n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 有三个关系可以利用: : 1)1~9中任意一个数乘于9后所得的数的十位数+个位数之和总是为9 : 2)1~9中任意一个数(假设为a)乘于9后所得数的个位数是 10-a : 3)1~9中任意一个数(假设为a)乘于9后所得数的十位数是 a-1 : 比如 2*9 = 18 => 1 + 8 = 9,18的个位数是8 = 10-2,十位数是2-1=1 : 那个算法有问题,我删了
|
f****9 发帖数: 581 | 20 第4点,可以更进一步,5x9=45,所以5必定不能在下面。
在以上几点的基础上,再可以从个位数开始排除,4,6分家,3,7分家,2,8分家。
1. n5=4,d5=6
2. n5=3,d5=7
3. n5=2,d5=8
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我的解法是: : (先定义两个数的名字:numerator,denominator) : n1 n2 n3 n4 n5
|
|
|
r********n 发帖数: 7441 | 21 刚刚又重新想了一下
如果定义两个数的名字:numerator,denominator
n1 n2 n3 n4 n5 |
m*****d 发帖数: 13718 | 22 a/b=9
a/9=b
a=9cdef
b=10ghi
cdef/ghi=9
cdef/9=ghi
c+d+e+f=9n from 2345678, then 9n=18
then just try
95823/9=10647
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 周末去换机油,garage老板是黎巴嫩人,说他女儿读高中,一道数学题怎么解都解不了 : ,他本人也不会,认为impossible,请我帮忙解。 : 题目: : 0~9这十个数字,每个只能用一次,组成两个五位数,令它们的商为9。 : 我拿回家做了15分钟,找到了3个答案。就是觉得用语言把解题过程写下来比较麻烦, : 问问大家谁能简单表述一下方法?
|
s*******n 发帖数: 4605 | 23 n2不能=d3,违反题目要求。
【在 r********n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 刚刚又重新想了一下 : 如果定义两个数的名字:numerator,denominator : n1 n2 n3 n4 n5
|
s*******n 发帖数: 4605 | 24 随便就可以找出相加等于18的几组数字组合,例如:
2358
4635
2457
3726
每组都能被9整除,每组都有24种排列方式。这样枚举次数也够多的。
【在 m*****d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : a/b=9 : a/9=b : a=9cdef : b=10ghi : cdef/ghi=9 : cdef/9=ghi : c+d+e+f=9n from 2345678, then 9n=18 : then just try : 95823/9=10647
|
m*****d 发帖数: 13718 | 25 初等整数论里面肯定有简单的解法,不过早就忘了
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : n2不能=d3,违反题目要求。
|
m*****d 发帖数: 13718 | 26 哈哈,看运气嘛,我就试了三次,反正找到一个就好了
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 随便就可以找出相加等于18的几组数字组合,例如: : 2358 : 4635 : 2457 : 3726 : 每组都能被9整除,每组都有24种排列方式。这样枚举次数也够多的。
|
m*****d 发帖数: 13718 | 27 还可以加条件,比如c+d=/=9n之类的
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 随便就可以找出相加等于18的几组数字组合,例如: : 2358 : 4635 : 2457 : 3726 : 每组都能被9整除,每组都有24种排列方式。这样枚举次数也够多的。
|
t******t 发帖数: 15246 | 28 9ABCD
A+B+C+D=18,
18/4=4.5
所以ABCD中至少有两个2,3,4之中的数
如果是234, 则另外一个是9所以不可能,只能有两个
于是 2 3, 另外两数字是6,7 或者是5,8,
如果是2 4 另外两数字是5,7
如果是3 4, 另外两数字是6,5
这样还剩下, 4x24=96种可能。
【在 m*****d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 还可以加条件,比如c+d=/=9n之类的
|
m*****d 发帖数: 13718 | 29 2457不是
所以只有3组,用剩余3个数反推,一共只需要18次枚举
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 随便就可以找出相加等于18的几组数字组合,例如: : 2358 : 4635 : 2457 : 3726 : 每组都能被9整除,每组都有24种排列方式。这样枚举次数也够多的。
|
m*****d 发帖数: 13718 | 30 不需要,看我上贴
【在 t******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 9ABCD : A+B+C+D=18, : 18/4=4.5 : 所以ABCD中至少有两个2,3,4之中的数 : 如果是234, 则另外一个是9所以不可能,只能有两个 : 于是 2 3, 另外两数字是6,7 或者是5,8, : 如果是2 4 另外两数字是5,7 : 如果是3 4, 另外两数字是6,5 : 这样还剩下, 4x24=96种可能。
|
|
|
t******t 发帖数: 15246 | 31 为啥2457不行?
【在 m*****d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 2457不是 : 所以只有3组,用剩余3个数反推,一共只需要18次枚举
|
m*****d 发帖数: 13718 | 32 看错了,那就加6次
【在 t******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 为啥2457不行?
|
t******t 发帖数: 15246 | 33 用什么条件把24变成了6?
【在 m*****d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 看错了,那就加6次
|
m*****d 发帖数: 13718 | 34 每组剩下三个数乘以9反推
【在 t******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 用什么条件把24变成了6?
|
t******t 发帖数: 15246 | 35 哦,不错
2367,剩下4,5,8,其实个位只能是,4,8,所以才4种情况
584,854,548,458
2358,剩下467
个位只能是7,剩下467,647 两种情况
2457,剩下368,这个有6种情况
3465,剩下278,个位只能是7,两种情况,
总共4+6+2+2=14种情况,呵呵,可以手算了。
呵呵一个HARD QUESTION终于被WSN联手攻克。
于是 2 3, 另外两数字是6,7 或者是5,8,
【在 m*****d 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 每组剩下三个数乘以9反推
|
r********n 发帖数: 7441 | 36 我疏忽了,那就只有前一种情况
d3+d4+d5 = 17, d3>d4 并且 d5>d4
分母为:
n2=d3-1, n3=10+d4-d3, n4=d5-d4-1, n5=10-d5
这样很容易遍历所有结果:
d4 [d3/d5] [d5/d3]
2+7+8
3+6+8
4+5+8
4+6+7
一共8个这样的组合
numerator denominator
96552 10728 [bad]
95742 10638
94932 10548 [bad]
95823 10647
97443 10827 [bad]
97524 10836
97605 10845 [bad]
96714 10746 [bad]
进一步筛选,剩下三组
95742 10638
95823 10647
97524 10836
【在 s*******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : n2不能=d3,违反题目要求。
|