读书人

求能穷举quot;不是9个自然数立方和quot;的整数

发布时间: 2012-03-09 21:42:54 作者: rapoo

求能穷举"不是9个自然数立方和"的整数的算法
这里说的自然数包括0。
我的算法如下:

1.把小于n的立方和数字列出来,例如0,1,8,27,64,125,我认为有m个立方和数字小于n。
2.对于n,查看上述列表,从大到小应用表中元素做除法。
例如对于269,我知道269=125*2+8*2+1*3。可以用少于9个立方和数来表示。

但是我发现这种贪心的算法会有遗漏。比如 50=6*2^3+2*1^3+1*0^3,用贪心的方法只能得到50=1*3^3+2*2^3+7*1^3,大于9个数

如何设计这样的一个算法呢? 还请大虾指点啊!

[解决办法]
不知道n有多大,小的话整数背包可以试试
[解决办法]
贪心法没设计好吧,设计好了穷举时候不可能漏的

读书人网 >软件架构设计

热点推荐