动态规划——整数拆分(python)

思路:

求一个整数,拆分后相乘的最大值。

定义dp数组为,dpi为将数i进行拆分后的相乘最大值。数i可以拆成两个,也可以拆成三个、四个......

拆成两个数:j+(i-j)

拆成多个数:j+dpi-j

状态转移dpi=max(dpi,j*(i-j),j*dpi-j)

复制代码
def IntegerBreak(n):
    dp=[0]*(n+1)
    dp[2]=1
    for i in range(1,n+1):
        for j in range(1,i):
            dp[i]=max(dp[i],j*(i-j),j*dp[i-j])  #和当前的dp[i]、j*(i-j),j*dp[i-j]比较
    print(dp[n])
    return 

def main():
    n=int(input())
    IntegerBreak(n)
if __name__=="__main__":
    main()
相关推荐
吴可可1239 分钟前
AutoCAD 2024搭配C#开发最佳实践
算法
郝学胜-神的一滴12 分钟前
系统设计 014:缓存深度实战:如何用 Cache 优雅优化数据库读写?
java·数据库·python·缓存·oracle·php·软件构建
Cloud_Shy61816 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 17 - 20)
开发语言·笔记·python
Stick_ZYZ23 分钟前
从 Prompt 到 Context Engineering:Agent 真正稳定的关键
大数据·人工智能·算法·ai·prompt
ZHW_AI课题组27 分钟前
使用Stable Diffusion v1.5文本引导与无分类器引导(CFG)算法实现条件生成图片
人工智能·python·算法·机器学习·stable diffusion
盼小辉丶28 分钟前
OpenCV-Python实战(25)——基于深度传感器与凸性分析打造实时手势识别系统
人工智能·python·opencv·计算机视觉
金融大 k33 分钟前
行情数据接入 MCP:Claude Code / Cursor 工具描述怎么写才不踩坑
人工智能·python·websocket·行情 api
黎阳之光39 分钟前
数字孪生赋能智慧油站建设|黎阳之光全场景可视化安防管控平台落地应用
大数据·物联网·算法·安全·数字孪生
张彦峰ZYF42 分钟前
深入 LangGraph State:Reducer 是如何让状态“自动合并”的
人工智能·python·大模型·langgraph
夜空繁星vv44 分钟前
widows环境 下使用python开发的仿照Linux的grep的能力
linux·开发语言·python