首页 > 试题广场 >

最少立方数之和

[编程题]最少立方数之和
  • 热度指数:5236 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
给出一个数字N(0<N<1000000),将N写成立方数和的形式,求出需要的最少立方数个数。
例如N=17,1+8+8 = 17,最少需要3个立方数,则输出3。
N= 28,1+1+1+1+8+8+8=28, 需要7个立方数,1+27=28,需要2个立方数,所以最少立方数为2,则输出2。

输入描述:
一个数字N(0<N<1000000)


输出描述:
最少立方数个数
示例1

输入

28

输出

2
n = int(input())
sum = 0
for i in range(100,0,-1):
    if i^3 >n :
        continue
    elif i^3 <= n:
        for j in range(7,0,-1):
            if j*(i^3) <= n :
                n = n-j*(i^3)
                sum += j
                break
            else:
                continue
print(sum)
这样为什么不对呢 ,求大神指点
发表于 2021-09-08 17:40:02 回复(0)