双倍立方数是指一个正整数可以被分解成不同的情况,a^3+b^3的方式,其中a,b均为整数0<a<=b,对于任何一个指定的 n,返回所有小于等于n的双倍立方数
n的取值范围 1到10亿例子:
0) 1
returns 01)1729
returns 11729=1^3+12^3
1729=9^3+10^32) 475574
returns 27..........
n的取值范围 1到10亿例子:
0) 1
returns 01)1729
returns 11729=1^3+12^3
1729=9^3+10^32) 475574
returns 27..........
a^3+b^3<=n(1)
0<a<=b(2)
所以
2a^3<=n 的a<=n/3开三次方
所以从a=1遍历到n/3开三次方 在此过程中由一式可得b<=(n-a^3)开三次方。所以小于等于(n-a^3)开三次方的值且大于a的值都是可以的。
思路就是这样了。仅供参考,不过代码实现起来应该也不是很难