从4个人中选2个人参加活动,一共有6种选法。 从n个人中选m个人参加活动,一共有多少种选法?C(m/n)=C((m-1)/(n-1))+C(m/(n-1))数学算法

public class Main {public static void main(String[] args) {System.out.println("请输入总人数:");Scanner sc=new Scanner(System.in);int n=sc.nextInt();System.out.println("请输入选择人数:");int m=sc.nextInt();System.out.println("一共有"+fun(n,m)+"种方法!");}  private static int fun(int n, int m) {     if(m>n)return 0;    if(m==0)return 1;      return fun(n-1,m-1) + fun(n-1,m);}
}

2.

计算3个A,2个B可以组成多少种排列的问题(如:AAABB, AABBA)是《组合数学》的研究领域

。但有些情况下,也可以利用计算机计算速度快的特点通过巧妙的推理来解决问题。

下列的程序计算了m个A,n个B可以组合成多少个不同排列的问题。请完善它。

A(n/m)=A(n/(m-1))+A((n-1)/m)

方法一:

public class Main {public static void main(String[] args) {int m=3;int n=2;System.out.println(pailie(m, n));}public static int pailie(int m,int n){ if (m==0||n==0)return 1;   return pailie(m-1,n)+pailie(m, n-1);}
}

方法二:

public class Main {public static void main(String[] args) {char[] date="ABC".toCharArray();f(date,0);}private static void f(char[] date, int k) {if (k==date.length) {for (int i = 0; i < date.length; i++) {System.out.print(date[i]+" ");}System.out.println();}  for (int i = k; i < date.length; i++) {{char t=date[k];date[k]=date[i];date[i]=t;}//试探    f(date,k+1);       {char t=date[k];date[k]=date[i];date[i]=t;}//回溯}  }
}

原文链接:http://www.cnblogs.com/cy666/

转载于:https://www.cnblogs.com/xiaomu0/p/10771859.html

Java的组合排列问题相关推荐

  1. java字符串字符排列组合_如何在Java中查找字符串的所有排列

    java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...

  2. java 数组的排列组合_java数组排列组合问题汇总

    面试或笔试中,多次遇到以下4个关于排列组合的手撕算法,这里做个笔记,方法日后查阅: 1. 无重复元素的数组,求全排列: 2. 有重复元素的数组,求全排列: 3. 无重复元素的数组,求组合[子集]: 4 ...

  3. 【组合数学】排列组合 ( 排列组合示例 )

    文章目录 一.排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 ) 二.排列组合示例 2 参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示 ...

  4. java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...

    java中组合的应用(不相干的类共同完成一个功能)+构造器回顾:今天我们了解到java的组合.可以说java组合是非常的重要的.可以对类进行封装,将底层的内容封装起来.甚至于java的继承都没有其重要 ...

  5. 排列组合思维导图_排列组合——排列数专题

    在上篇关于排列组合主要考点的介绍中,正男老师提到:排列组合考点通常可以拆分为排列数考点和组合数考点.排列数考点相关试题可以细分为2类,分别为:穷举问题和限制条件问题.本期正男老师就从近六年内的5道涉及 ...

  6. Java递归求全排列详解

    Java递归求全排列详解 推荐博客: 博客园Java全排列递归算法,结尾的解释很形象了 csdn的大佬写的,和我下面的代码思路基本一致 全排列的递归思想解释: 全排列的数学定义就不再过多解释,考虑递归 ...

  7. 递归学习_组合_全组合排列

    Sample Input 3 1 2 3 Sample Output 123 132 213 231 312 321 #include <iostream> using namespace ...

  8. python以环状形式组合排列图片并输出的方法

    python以环状形式组合排列图片并输出的方法 本文实例讲述了python以环状形式组合排列图片并输出的方法.分享给大家供大家参考.具体分析如下: 这段代码可以自定义一个空白画板,然后将指定的图片以圆 ...

  9. 索玛立方体所有组合/排列,解决方案及代码实现

    基本情况介绍:索玛立方体(3*3*3),可由7块不同形状的积木拼成,且积木标以不同的颜色,即yellow, green, purple, orange, red, dark blue, baby bl ...

最新文章

  1. 过滤脚本(C#,script,iframe,html)
  2. 基于深度学习的多目标跟踪:从UMA Tracker出发谈谈SOT类MOT算法
  3. VTK:构造图用法实战
  4. MySQL5.7在Ubuntu上的安装、配置与使用
  5. simulink 得到任意想要的 PWM 波形
  6. Numpy | Python列表与Numpy数组对比
  7. 第三个维度:z-index
  8. elasticsearch将数据导出json文件【使用elasticdump】
  9. ASP.NET 3.5控件和组件开发技术之客户端回发/回调揭密
  10. OpenWrt 防火墙组件
  11. 二.公共建筑安全防范系统配置
  12. Arduino蓝牙无线自动下载程序
  13. ubuntu安装nat123
  14. python爬虫微信公众号视频
  15. ESS 控制台之访问控制篇
  16. 风向风速传感器原理及应用
  17. 不同数据类型与Json之间的转换
  18. 2023 抖音表情包小程序变现项目 详细玩法视频课程
  19. MMDetection——GPU训练
  20. 如何深入理解PhalApi框架三层结构Api+Domain+Model模式

热门文章

  1. php横排代码,20行代码原生js实现文字横向轮播
  2. 数据库:后端开发必备的 MySQL日志文件知识点
  3. 2010年安大计算机录取名单,2021安徽大学考研拟录取名单已公布
  4. 判断是否为自然数java_java判断输入的是否是自然数
  5. 36岁 计算机博士,36岁考博士
  6. linux查看运行钟的tomcat,linux查看tomcat启动运行日志
  7. python系统学习1-程序设计的基本方法
  8. 服务治理·理论篇(一)
  9. python web scraping
  10. IIS上部署Net.Core