首页 > 试题广场 >

最少立方数之和

[编程题]最少立方数之和
  • 热度指数: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
头像 牛客题解官
发表于 2020-06-05 17:23:38
精华题解 题解 题目难度:中等难度 知识点:动态规划、递归、动态数组 我们实现动态规划算法,常用的是2个实现套路,一个是自底向上,另外一个是自顶向下。无论是何种方式,我们都要明确动态规划的过程,把状态表示、状态转移、边界都考虑好。 方法(一):自底向上 简单来说就是根据初始状态,逐步推导到最终状态,而这个转移 展开全文
头像 牛客499819205号
发表于 2021-10-19 16:11:04
取得可能所有的立方数,从1/8/27...作为背包 注意背包可以重复选择 dp数组可以初始化为INT_MAX,dp[0] = 0 #include<iostream> #include<vector> #include<cmath> using namespace 展开全文