package com.codser;import java.util.HashSet;public class App
{/*** 临时的构建内部类*/static class Construct{int left; // 拆的第一个数  eg:拆5 left=1,right=4int right; // 与拆的第一个数互补的数String complement; // 补充1的片段public Construct(int left,int right,String complement){this.left=left;this.right=right;this.complement=complement;}public int getLeft() {return left;}public void setLeft(int left) {this.left = left;}public int getRight() {return right;}public void setRight(int right) {this.right = right;}public String getComplement() {return complement;}public void setComplement(String complement) {this.complement = complement;}@Overridepublic String toString() {return "Construct{" +"left=" + left +", right=" + right +", complement='" + complement + '\'' +'}';}}public static void main( String[] args ){// 要拆的数int num=5;// 拆的临时数组Construct[][] tempConstruct=new Construct[num+1][];// 构建的结果HashSet<String>res=new HashSet<String>();// 将不用的置空tempConstruct[0]=null;tempConstruct[1]=null;// 按需构建二维数组并填充拆开的数据for(int i=2;i<=num;i++){tempConstruct[i]=new Construct[i-1];int index=0;for(int j=1;j<i;j++){StringBuilder str=new StringBuilder();for(int z=0;z<(num-i);z++){str.append("1+");}// 去掉末尾的加号并添加到构建对象中tempConstruct[i][index++]=new App.Construct(j,i-j,str.length()>0?str.toString().substring(0,str.length()-1):str.toString());}}// 构建结果for(int i=2;i<=num;i++){for(int j=0;j<tempConstruct[i].length;j++){Construct construct=tempConstruct[i][j];if(construct.getComplement().equals("")){res.add(construct.getLeft()+"+"+construct.getRight());res.add(construct.getRight()+"+"+construct.getLeft());}else{res.add(construct.getLeft()+"+"+construct.getRight()+"+"+construct.getComplement());res.add(construct.getComplement()+"+"+construct.getLeft()+"+"+construct.getRight());res.add(construct.getRight()+"+"+construct.getComplement()+"+"+construct.getLeft());}}}// 打印结果System.out.println(num+"所拆的个数:"+res.size());for (String string : res) {System.out.println(num+"="+string);}}}

把一个数分解成任意几个数之和全部结果相关推荐

  1. 把一个数分解成任意几个数之和,打印所有和式分解的结果

    题目:把一个数分解成任意几个数之和,把一个数的所有和式分解的结果全部输出出来, 例如:4的结果有,(1+3),(2+2),(1+1+2),(1+1+1+1) 由例子可见,该程序是去重的,应为1+1+2 ...

  2. 把一个数分解成任意几个数的和,把所有的可能性列出来

    把一个数分解成任意几个数的和,把所有的可能性列出来 4=1+3 4=2+2 4=1+1+2 4=1+1+1+1 类似于有4个苹果放入n个篮子 通过创建二维数组将数字分别放进去 分别考虑 当都为一的情况 ...

  3. 把一个数分解成任意几个数的和,把所有的可能性列出来。

    在boss上面,一位大boss给我出的题目,自己没答出来,机会是留给有准备的人,看来不是给我准备着,虽然自己最近才刚刚学习了动态规划,但是能力还是差很多,下面进入正文. 这个问题我第一个想到的就是m个 ...

  4. 面试经典算法-将大于2的某一个数分解成两个素数之和

    将大于2的某一个数分解成两个素数之和 [面试题]输入一个大于2的偶数n,将n分解成为两个素数之和,有几对就输出几对.(注意 :1 不是素数) #include <stdio.h>/*子算法 ...

  5. 借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和。

    定义一个函数,实现判断某个整数是否是素数.借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和.从键盘输入一个偶数,输出该偶数的两个素数之和. 代码段: #include <io ...

  6. JS:利用函数,求任意三个数最大值,任意两个数的任意运算结果,判断任意数值是否为素数。

    1.求任意三个数最大值 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. 华为机试——将一个数分解成两个质数之和

    题目描述 * 题目描述:数字分解,将一个数字分解成两个质数相加 * 输入描述:给定数字 * 输出描述:两个质数之和 * 输入示例:10 * 输出示例:10=3+7 代码实现 /************ ...

  8. 简单算法:把一个数分解成几个数之和

    小白记录,大佬勿喷!! /**分析2 1+1:3 1+2,1+1+14 1+3,2+2,1+1+2,1+1+1+15 1+4,2+3,1+1+3,1+2+2,1+1+1+2,1+1+1+1+16 1+ ...

  9. 著名的斐波拉契数列(Fibonacci),除第一个和第二个数外,任意一个数都可由前两个数相加得到: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

    def fib(max):n, a, b = 0, 0, 1while n < max:print(b)a, b = b, a + bn = n + 1return 'done' 注意,赋值语句 ...

最新文章

  1. iOS高级面试之NSRunLoop须知
  2. RASA NLU Chi安装
  3. 常用的方法论-鱼骨图
  4. 如何理解计算机程序中的宏?
  5. easy connect电脑版_北师大版小学英语六年级上册Unit4课文听力+翻译+单词录音跟读+高清课本(一起点)...
  6. Illustrator 教程,如何在 Illustrator 中添加图像?
  7. 视频实现blob加密
  8. silverlight读取mysql_silverlight访问数据库
  9. vs为什么打了断点不断_2019年丹麦羽毛球公开赛焦点对阵:林丹VS塞帕拉内斯 石宇奇 VS 马克卡尔尤B...
  10. Q8四元数群的正规子群
  11. 王垠:怎样尊重一个程序员
  12. Caché 实操《Caché 算法与数据结构-数组原理》学习笔记
  13. 实例讲解基于 React+Redux 的前端开发流程
  14. MySQL数据库灵魂拷问
  15. html样式表三种类型包括,css样式有哪几种类型
  16. 解决重邮无法访问蓝鸽听力以及无法访问部分内网的解决方法
  17. 根据美光内存颗粒上的编码查询对应型号
  18. 小学计算机教师集体备课计实,教师集体备课心得体会精选5篇合集
  19. Vue进阶(幺零二):面试必备:2023 Vue经典面试题整理(含答案)
  20. 微信小程序学习 (一)

热门文章

  1. MySQL常见聚合函数
  2. 会Python的淘宝商家可以横扫一切竞争对手,这就是会技术的魅力!(上)
  3. 代写python期末作业价格_代做program留学生作业、代写Python语言作业、代做algorithm课程作业、代写Python程序设计作业...
  4. 电脑浏览器模拟手机浏览器如何设置
  5. 机器学习过拟合与欠拟合!
  6. 劲舞团3.1版问题解决办法
  7. Qt编写控件属性设计器10-导出xml
  8. D. Easy Problem(简单DP)
  9. 浅谈视频号对企业运营的作用
  10. Tomcat面试题总结(2020年最新版)