Java的组合排列问题
从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的组合排列问题相关推荐
- java字符串字符排列组合_如何在Java中查找字符串的所有排列
java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...
- java 数组的排列组合_java数组排列组合问题汇总
面试或笔试中,多次遇到以下4个关于排列组合的手撕算法,这里做个笔记,方法日后查阅: 1. 无重复元素的数组,求全排列: 2. 有重复元素的数组,求全排列: 3. 无重复元素的数组,求组合[子集]: 4 ...
- 【组合数学】排列组合 ( 排列组合示例 )
文章目录 一.排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 ) 二.排列组合示例 2 参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示 ...
- java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...
java中组合的应用(不相干的类共同完成一个功能)+构造器回顾:今天我们了解到java的组合.可以说java组合是非常的重要的.可以对类进行封装,将底层的内容封装起来.甚至于java的继承都没有其重要 ...
- 排列组合思维导图_排列组合——排列数专题
在上篇关于排列组合主要考点的介绍中,正男老师提到:排列组合考点通常可以拆分为排列数考点和组合数考点.排列数考点相关试题可以细分为2类,分别为:穷举问题和限制条件问题.本期正男老师就从近六年内的5道涉及 ...
- Java递归求全排列详解
Java递归求全排列详解 推荐博客: 博客园Java全排列递归算法,结尾的解释很形象了 csdn的大佬写的,和我下面的代码思路基本一致 全排列的递归思想解释: 全排列的数学定义就不再过多解释,考虑递归 ...
- 递归学习_组合_全组合排列
Sample Input 3 1 2 3 Sample Output 123 132 213 231 312 321 #include <iostream> using namespace ...
- python以环状形式组合排列图片并输出的方法
python以环状形式组合排列图片并输出的方法 本文实例讲述了python以环状形式组合排列图片并输出的方法.分享给大家供大家参考.具体分析如下: 这段代码可以自定义一个空白画板,然后将指定的图片以圆 ...
- 索玛立方体所有组合/排列,解决方案及代码实现
基本情况介绍:索玛立方体(3*3*3),可由7块不同形状的积木拼成,且积木标以不同的颜色,即yellow, green, purple, orange, red, dark blue, baby bl ...
最新文章
- 过滤脚本(C#,script,iframe,html)
- 基于深度学习的多目标跟踪:从UMA Tracker出发谈谈SOT类MOT算法
- VTK:构造图用法实战
- MySQL5.7在Ubuntu上的安装、配置与使用
- simulink 得到任意想要的 PWM 波形
- Numpy | Python列表与Numpy数组对比
- 第三个维度:z-index
- elasticsearch将数据导出json文件【使用elasticdump】
- ASP.NET 3.5控件和组件开发技术之客户端回发/回调揭密
- OpenWrt 防火墙组件
- 二.公共建筑安全防范系统配置
- Arduino蓝牙无线自动下载程序
- ubuntu安装nat123
- python爬虫微信公众号视频
- ESS 控制台之访问控制篇
- 风向风速传感器原理及应用
- 不同数据类型与Json之间的转换
- 2023 抖音表情包小程序变现项目 详细玩法视频课程
- MMDetection——GPU训练
- 如何深入理解PhalApi框架三层结构Api+Domain+Model模式