算法:排列组合之C(N,M)
来源:互联网 发布:invalid date js 编辑:程序博客网 时间:2024/05/17 06:49
算法主要结合二进制实现从n个数里面选择m个 不考虑效率问题,算法比较容易理解
package algorithm;public class ERjinzhiyupailiezuhe {/** * 用二进制判断排列组合 * 这个算法求的事n个里边求m * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint[] a = new int[] { 1, 2, 3, 4, 5 };int[] b = new int[] { 0, 0, 0, 0, 0 };// 如果选三个的话for (int i = 0; i < 32; i++) {int n = 0;if (i % 2 >= 1) {b[4] = 1;n++;} elseb[4] = 0;if (i % 4 >= 2) {b[3] = 1;n++;} elseb[3] = 0;if (i % 8 >= 4) {b[2] = 1;n++;} elseb[2] = 0;if (i % 16 >= 8) {b[1] = 1;n++;} elseb[1] = 0;if (i % 32 >= 16) {b[0] = 1;n++;} elseb[0] = 0;if (n == 3) {for (int j = 0; j < 5; j++) {if (b[j] == 1)Print.print(a[j]);b[j] = 0;}Print.println("");Print.println(i);}}}}
- 算法:排列组合之C(N,M)
- c# C(m,n) 排列组合算法
- 数学排列组合算法 P(N,M) C(N,M)
- 排列组合 C(n,m)
- 排列组合 C(n,m)
- 排列组合数C(m,n)的O(n)算法
- java排列组合算法(M选N)
- (转) java排列组合算法(n选m)
- hdu 4810 排列组合C(n,m) 数组存
- python实现排列组合公式C(m,n)求值
- hdu 1799 排列组合求C(n,m)+预处理
- 排列组合问题(n取m)
- 组合数算法 C(n,m)(n>=m)
- 算法—递归实现 C(m,n)
- 33选6算法:M个数N个为一组,无重复的排列组合
- [算法] 求排列组合: 从n个数中任选m个数组成一个新数
- 排列组合 A(n, m) 字典序
- 排列组合n选m C++实现
- ActionScript xml处理
- RHEL5 oracle9208升级到oracle11g
- cavium octeon 处理器启动总线Bootbus 简介
- Objective-C之run loop详解
- LaTeX排版学习资源汇总
- 算法:排列组合之C(N,M)
- python list和 php中 array区别
- JAVA几个很有用的工具函数
- 模块已加载,但对 DllRegisterServer 的调用失败错误代码0x80040201
- Java读取Properties文件
- android应用程序结构
- mt6515 驱动配置示例
- NS2中无线仿真场景生成
- Web应用中一种用户友好Email验证模式