找回密码
 注册
Simdroid-非首页
楼主: FreddyMusic

[数值计算] 摆个技术分,出一道题

[复制链接]
发表于 2009-5-20 23:34:33 | 显示全部楼层 来自 美国
问题就出在这儿:”将一个数p拆分为两个整数之和“,有时可以将将一个数p拆分为多个整数之和,例如:1/2->{5,6,12,20}, 1/3->{9,10,15,18},...
19# waynebuaa
回复 不支持

使用道具 举报

发表于 2009-5-20 23:41:38 | 显示全部楼层 来自 北京
Simdroid开发平台
我最开始其实画出了一棵树状图,从{{2,3,6}}开始分支,2只能替换为{3,6},3只能替换为{4,12},。。。。。
这样就有会有很多的树枝,

而解的结构就是由母系和子代构成的,母系是And,子代是Or,但这样我还不知道怎么消除重复元素的情况。。。
回复 不支持

使用道具 举报

发表于 2009-5-20 23:44:40 | 显示全部楼层 来自 北京
我这种思路原则上能找出所有的解,但题目是要求出个数,似乎没有这个必要去求出所有情况再来计数,所以,最好在程序过程中进行计数。。。

有时间我会再来的
回复 不支持

使用道具 举报

发表于 2009-5-20 23:48:49 | 显示全部楼层 来自 北京
17# smarten

通过‘全部替换"可以把你举的例子包含进去,部分替换就是我前面给的程序。

另外,对于本题,被替换的那个数不会超过42的。解中的最小数也不会大于7的,所以迭代深度不会很大。
回复 不支持

使用道具 举报

发表于 2009-5-20 23:57:32 | 显示全部楼层 来自 北京
如果把一个数表示成两个数再进行替换,可以保证算法的确定性,即不用搜索就可以直接打印结果,但如果表示成多个数,我想不出确定性的算法来,:L,

好像能用的就是递归了。。
回复 不支持

使用道具 举报

发表于 2009-5-22 15:49:21 | 显示全部楼层 来自 重庆
貌似LS的算法,算到了后面会很慢的
回复 不支持

使用道具 举报

 楼主| 发表于 2009-5-27 21:30:48 | 显示全部楼层 来自 江苏无锡
算法其实非常的快,时间基本上完全是耗在存储和打印这些数据上
waynebuaa 发表于 2009-5-20 22:39


You don't have to print them all, We just want to know how many for total ? Or the length of the list?
回复 不支持

使用道具 举报

发表于 2009-5-28 18:14:09 | 显示全部楼层 来自 陕西宝鸡
本帖最后由 ggggwhw 于 2009-5-29 21:07 编辑

gai tieyi guanbi.
回复 不支持

使用道具 举报

发表于 2009-5-29 18:46:08 | 显示全部楼层 来自 陕西宝鸡
本帖最后由 ggggwhw 于 2009-5-29 21:07 编辑

gai tieyi guanbi.
回复 不支持

使用道具 举报

发表于 2009-5-29 19:02:03 | 显示全部楼层 来自 陕西宝鸡
本帖最后由 ggggwhw 于 2009-5-29 21:07 编辑

gai tieyi guanbi.

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-5-29 19:23:39 | 显示全部楼层 来自 陕西宝鸡
本帖最后由 ggggwhw 于 2009-5-29 21:07 编辑

gai tieyi guanbi.
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2026-1-7 12:16 , Processed in 0.028773 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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