魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: yang_bigarm
打印 上一主题 下一主题

两个立方体的边长问题 [复制链接]

红魔

All Blue

Rank: 4

积分
1196
帖子
999
精华
2
UID
38845
性别
11#
发表于 2009-3-27 20:44:04 |只看该作者
兩個分數,三次方後的數字加起來是整數,確實很少見

使用道具 举报

积分
1
帖子
2
精华
0
UID
58262
性别
保密
12#
发表于 2009-3-27 23:28:26 |只看该作者
设两个正方体的边长分别是 x/z, y/z    x,y,z 都是正整数      2000以内符合条件的如下: (果然很慢,电脑都累坏了!)

QQ截图.jpg (11.83 KB, 下载次数: 23)

QQ截图.jpg

使用道具 举报

Rank: 2

积分
274
帖子
164
精华
2
UID
63527
性别
13#
发表于 2009-3-27 23:52:55 |只看该作者
原帖由 tonylmd 于 2009-3-27 00:09 发表
可以发一下你的算法?什么语言?


随便什么语言都行啊,搜索10000以内的所有可能的情况很快的。

原帖由 Cielo 于 2009-3-27 08:55 发表

P.S:是出自《矩阵博士的魔法数》一书吗?


不是出自这本书,只是觉得矩阵博士这个人物总会有层出不穷的问题,所以借用他的名字。


原帖由 lulijie 于 2009-3-27 19:49 发表
解  x^3+y^3=17*z^3    ,x、y、z为正整数。
我觉得很难。让电脑来找,主要是如何优化算法。
让x=17*k +p  ,y=17*m-p 来寻找不知会不会快些。( p=0 to 16)

楼下抓到这个问题的实质了,如何优化算法才是解答这个问题的关键。


原帖由 骰迷 于 2009-3-27 20:44 发表
兩個分數,三次方後的數字加起來是整數,確實很少見

这样的数多得不可胜数,怎么会少见呢?


原帖由 风花雪夜 于 2009-3-27 23:28 发表
设两个正方体的边长分别是 x/z, y/z    x,y,z 都是正整数      2000以内符合条件的如下: (果然很慢,电脑都累坏了!)

你贴出的解一个都不对,而且我一开始就都说了,我自己编程检验过10000以内的所有x,y,z没有一个符合条件的。

使用道具 举报

积分
1
帖子
2
精华
0
UID
58262
性别
保密
14#
发表于 2009-3-28 00:37:57 |只看该作者
自己拿计算机把结果算了一下,果然不对!汗……

使用道具 举报

红魔

All Blue

Rank: 4

积分
1196
帖子
999
精华
2
UID
38845
性别
15#
发表于 2009-3-28 09:52:43 |只看该作者
這題從哪來的?有答案沒?會不會是耍人的

使用道具 举报

Rank: 2

积分
274
帖子
164
精华
2
UID
63527
性别
16#
发表于 2009-3-28 10:23:41 |只看该作者
原帖由 骰迷 于 2009-3-28 09:52 发表
這題從哪來的?有答案沒?會不會是耍人的


我可以很自信地告诉你,这个问题是有答案的,而且有无数组答案,
更进一步告诉你,(x/z)^3 + (x/z)^3 =N,N取100以内的自然数且N不取立方数
的情况,都是有解答的。

使用道具 举报

红魔

All Blue

Rank: 4

积分
1196
帖子
999
精华
2
UID
38845
性别
17#
发表于 2009-3-28 17:32:48 |只看该作者
解一定有,不過可能是天文數字罷
但這題是從哪來的?如果答案非常大,必須以電腦暴力尋解,那便沒什麼意思了

使用道具 举报

Rank: 2

积分
274
帖子
164
精华
2
UID
63527
性别
18#
发表于 2009-3-28 23:53:02 |只看该作者
解一定有,不過可能是天文數字罷
但這題是從哪來的?如果答案非常大,必須以電腦暴力尋解,那便沒什麼意思了


电脑搜索当然是必要的,但是怎样巧妙地去搜素呢?也就是如何优化算法,这才是问题的关键所在啊。就好像你要用电脑去解一个3阶魔方,魔方有4.3乘10的19次方种状态,世界上任何电脑也不能存储这么多种状态,于是照你的逻辑就不可能直接搜索出来啊,但是cube explorer采用two phase algorithm把问题分解了,于是就能在不到1s的时间内得到接近最优解的步骤,这就是巧妙的算法,巧妙的搜索啊。你怎么能说,单凭我对问题目前的理解,觉得这个是个暴力搜索的题目,就没有意思了呢?为什么不仔细分析问题,把问题分解,排除简单的情况,缩小搜索的范围,最终一步步逼进答案呢?

说实话,这个题目确实有相当的难度,绝对不是在纸上乱画几下就,或者用计算器算几个数就能搞定的,是要不断优化自己的算法,不断缩小自己的搜索范围,逼近答案的。

[ 本帖最后由 yang_bigarm 于 2009-3-28 23:54 编辑 ]

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
19#
发表于 2009-3-29 00:32:38 |只看该作者
解  x^3+y^3=17*z^3    ,x、y、z为正整数。

因为X除以17 的余数与Y除以17的余数的和必须等于17或0。
不妨设X除以17的余数为 0~8,Y除以17的余数为  9~16,0
让x=17*k +p  ,y=17*m-p 。( p=0 to 8)    来搜索    比全暴力搜索可以节约17*2=34倍时间
按照这个算法,17*591=10047以内无解,费时4秒。

使用道具 举报

红魔

All Blue

Rank: 4

积分
1196
帖子
999
精华
2
UID
38845
性别
20#
发表于 2009-3-29 10:38:32 |只看该作者
這可是電腦奧林匹克的範疇?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-17 07:19

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部