找回密码
 欢迎注册
查看: 9997|回复: 5

[分享] 简单填数--极限玩法

[复制链接]
发表于 2010-1-5 08:55:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
要把1-9这9个数全部填进去,一个萝卜一个坑,使得等式成立
$frac{\square}{\square\square}+frac{\square}{\square\square}+frac{\square}{\square\square}=1$

我找不到好的算法,结果用Mathematica花了8秒钟,而用1stopt却只需1秒钟,所以想问问大家,有没有好点子,实现快速填数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-5 15:31:41 | 显示全部楼层
设9个数分别是

a、b、c、d、e、f、g、h、i

$a$、$b$、$c$、$d$、$e$、$f$、$g$、$h$、$i$

于是有

a/(10b+c)+d/(10e+f)+g/(10h+i)=1

$a/(10b+c)+d/(10e+f)+g/(10h+i)=1$

通分

a(10e+f)(10h+i)+d(10b+c)(10h+i)+g(10b+c)(10e+f)=(10b+c)(10e+f)(10h+i)

$a(10e+f)(10h+i)+d(10b+c)(10h+i)+g(10b+c)(10e+f)=(10b+c)(10e+f)(10h+i)$

展开

100aeh+10aei+10afh+afi+100bdh+10bdi+10cdh+cdi+100beg+10bfg+10ceg+cfg=1000beh+100bei+100bfh+100ceh+10bfi+10cei+10cfh+cfi

$100aeh+10aei+10afh+afi+100bdh+10bdi+10cdh+cdi+100beg+10bfg+10ceg+cfg=1000beh+100bei+100bfh+100ceh+10bfi+10cei+10cfh+cfi$

竟然没有同类项。

按系数收集

1000beh+100(bei+bfh+ceh-aeh-bdh-beg)+10(bfi+cei+cfh-aei-afh-bdi-cdh-bfg-ceg)+(afi+cdi+cfg-cfi)=0

$1000beh+100(bei+bfh+ceh-aeh-bdh-beg)+10(bfi+cei+cfh-aei-afh-bdi-cdh-bfg-ceg)+(afi+cdi+cfg-cfi)=0$

没有得到任何有用信息。

唯一可利用的是

(afi+cdi+cfg-cfi) mod 10 =0

$(afi+cdi+cfg-cfi) mod 10 =0$

只需枚举

a、c、d、f、g、i

$a$、$c$、$d$、$f$、$g$、$i$

枚举量为原来的

1/6

$1/6$

其中大约有

1/10

$1/10$

符合条件。

然后再考虑

b、e、h

$b$、$e$、$h$

的值,代入原式,看看是否符合条件。

累计枚举量为

9*8*7*6*5*4 + 9*8*7*6*5*4/10*6 = 96768

$9*8*7*6*5*4 + 9*8*7*6*5*4/10*6 = 96768$

是直接枚举量

9! = 362880

$9! = 362880$



4/15

$4/15$

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-5 15:35:09 | 显示全部楼层
9/12+5/34+7/68=1
第一个分母的十位数只能是1:

因为如果是二十几,分式和最大只能为 9/21+8/34+7/56=0.789<<1
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-5 15:39:43 | 显示全部楼层
又: 9/21+8/35+7/46=0.809317<1

评分

参与人数 1鲜花 +1 收起 理由
KeyTo9_Fans + 1 正想说你呢,被你及时弥补了。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-1-5 15:51:46 | 显示全部楼层
另:

a/x+b/y+c/z=1------->
axbycz是123456789的一个排列
ayz+bxz+cxy=xyz
用乘法应该比除法快多了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-1-5 17:17:52 | 显示全部楼层
9/12+5/34+7/68=1
第一个分母的十位数只能是1:

因为如果是二十几,分式和最大只能为 9/21+8/34+7/56=0.789
northwolves 发表于 2010-1-5 15:35


呵呵,这个信息很关键,一下子减少到1/9了

另外,由于三个分数形式相同,我们不妨先人为设定一下关系,三个分数的分子依次递增,这样,又可省到1/6,于是运算量减少到了1/54了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 11:00 , Processed in 0.044820 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表