题: 将一个整数 num 划分为若干个整数相加,这些整数是大于等于0且小于等于 max_num 的整数,试求有多少种划分方案。
'''
如:
num = 5
max_num = 3
输出是:
5
整数5 可以被划分为1+1+1+1+1、2+3、2+1+1+1、2+2+1、3+1+1
'''
1 class Solution(object): 2 def func(self,num,max_num): 3 if num<1 or max_num<1: 4 return 0 5 if num==1 or max_num==1: 6 return 1 7 if num<max_num: 8 return self.func(num,num) 9 if num==max_num: 10 return 1+self.func(num,max_num-1) 11 return self.func(num-max_num,max_num)+self.func(num,max_num-1) 12 13 # eg. 14 demo = Solution() 15 act= demo.func(5,3) 16 print(act) # 5
2023-9-10笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)