1.题目描述

求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)

2.解题思路

dfs思路,从最小值开始,依次加入中间结果中

注意加入的值是可以重复的,因此递归dfs中的参数还是i,不需要i+1

3.代码实现

def dfs(start,val,res,out):if val == 0:res.append(out[:])returnfor i in range(start,val+1):out.append(i)dfs(i,val-i,res,out)out.pop(-1)
res = []
dfs(1,10,res,[])
print (res)
"""
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 2],
[1, 1, 1, 1, 1, 1, 1, 3],
[1, 1, 1, 1, 1, 1, 2, 2],
[1, 1, 1, 1, 1, 1, 4],
[1, 1, 1, 1, 1, 2, 3],
[1, 1, 1, 1, 1, 5],
[1, 1, 1, 1, 2, 2, 2],
[1, 1, 1, 1, 2, 4],
[1, 1, 1, 1, 3, 3],
[1, 1, 1, 1, 6],
[1, 1, 1, 2, 2, 3],
[1, 1, 1, 2, 5],
[1, 1, 1, 3, 4],
[1, 1, 1, 7],
[1, 1, 2, 2, 2, 2],
[1, 1, 2, 2, 4],
[1, 1, 2, 3, 3],
[1, 1, 2, 6],
[1, 1, 3, 5],
[1, 1, 4, 4],
[1, 1, 8],
[1, 2, 2, 2, 3],
[1, 2, 2, 5],
[1, 2, 3, 4],
[1, 2, 7],
[1, 3, 3, 3],
[1, 3, 6],
[1, 4, 5],
[1, 9],
[2, 2, 2, 2, 2],
[2, 2, 2, 4],
[2, 2, 3, 3],
[2, 2, 6],
[2, 3, 5],
[2, 4, 4],
[2, 8],
[3, 3, 4],
[3, 7],
[4, 6],
[5, 5],
[10]]
"""

求正整数n所有可能的和式的组合「百度凤巢」相关推荐

  1. 正整数 n 所有可能的和式的组合

    正整数 n 所有可能的和式的组合(如: 4=1+1+1+1. 1+1+2. 1+3.2+2.4) 代码的思想是,从最小值开始,依次加入序列中,整体类似DFS(深搜),因为有回退的一步.区别是加入一个值 ...

  2. 求两条轨迹间的hausdorff距离_「中考专题」瓜豆原理|第二讲 线段型路径轨迹...

    第二讲 线段型路径轨迹 上一讲: [中考专题]瓜豆原理|第一讲 什么是瓜豆原理? 例1: 如图,等边ΔABC的边长为4,点D是边AC上的一个动点,连接BD,以BD为斜边向上作RtΔBDE,其中∠DBE ...

  3. NYOJ 90 —— 求正整数n划分为若干个正整数的划分个数

    整数划分 时间限制:3000 ms  |  内存限制:65535 KB 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,  其中n1≥n2≥-≥nk≥1,k≥1.  正整数n的这种表 ...

  4. 求正整数N(N1)的质因数的个数,相同的质因数需要重复计算(java)

    package Four; /** 分解质因数* 素数常用来分解质因数,每个数都可以写成一个或几个质数相乘的形式* 其中每个质数都是这个数的质因数,把一个数用质因数相乘的形式表示出来,* 就称为分解质 ...

  5. 信息学奥赛一本通 1150:求正整数2和n之间的完全数

    [题目链接] ybt 1150:求正整数2和n之间的完全数 [题目考点] 1.因数.因子 因数(因子)是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. 因数包括这个数本 ...

  6. 信息学奥赛一本通(1150:求正整数2和n之间的完全数)

    1150:求正整数2和n之间的完全数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 30272     通过数: 18285 [题目描述] 求正整数22和nn之间 ...

  7. 信息学奥赛C++语言: 求正整数2和n之间的完全数

    [题目描述] 求正整数2和n之间的完全数(一行一个数). 完全数:因子之和等于它本身的自然数,如6=1+2+3 [输入] 输入n. [输出] 一行一个数,按由小到大的顺序. [输入样例] 7 [输出样 ...

  8. 正整数m的百位数字python_求正整数m的百位数字

    [多选题]关于三阀组的使用,下列说法正确的是() (6.0分) [多选题]下列流量计不能用于气体测量的是() (6.0分) [填空题]执行下列Python语句将产生的结果是 . m=True n=Fa ...

  9. java1到n所有质数_实验一:实现求正整数1-N之间所有质数的功能,并进行测试。...

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 命令行下的程序开 ...

最新文章

  1. U盘系统启动制作Windows版,蒋介石制作
  2. 导出全部记录到excel
  3. 释放锁以及添加线程对于队列的变化
  4. linux命令学习记录一
  5. 'Request' object has no attribute 'META'报错解决
  6. 为什么说「中台」程序员将来会最值钱?
  7. Java动态代理简述
  8. CSS hack 初学小结
  9. 杀死提交的hadoop任务
  10. 怎么用html打开图片,viewerjs 在html打开图片或打开pdf文件使用案例
  11. Symbian系统手机软件
  12. 文献阅读(19)ISSCC 2020
  13. Tony.SerialPorts.RS232简介
  14. minigui 编译与使用
  15. win10系统更新后C盘逐渐变小解决方法
  16. 全国计算机等级四级计算机网络第6套答案,全国计算机等级考试四级计算机网络第6套试题(2)...
  17. LCD高抗干扰液晶段码屏显示驱动芯片:VK2C21A/B/BA/C/D 大量应用于音箱/音响面板LCD显示驱动
  18. 同步与异步的详细区别
  19. 苹果展开新显示器带动高阶需求:Mini LED背光技术
  20. Android 9.0 PM机制系列(四) APK安装需要空间分析

热门文章

  1. linux创建目录命令-----mkdir
  2. C语言递归实现汉诺塔
  3. bscroll.js实现html手机端城市列表
  4. 苹果官网镜像下载地址大全(含原版、引导版、ISO/CDR)
  5. Arduino提高篇13—摇杆控制OLED移动显示
  6. vue+vite项目当中:介绍一种生成助记词新方法,兼容以太坊
  7. 【阅读笔记】TypeScript菜鸟教程
  8. [项目管理-12]:项目经理的困惑:项目管理的常见难题及解决对策
  9. 出现RPC服务器不可用的解决方法
  10. Matlab修改数值格式/精度/小数位数