`
QuarterLifeForJava
  • 浏览: 177817 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

组合总数计算

阅读更多
package test;

import java.util.HashMap;
import java.util.Map;

/**
 * @author QuarterLifeForJava
 * 极其简单初级的实现
*/
public class Test {
	public static void main(String[] args) {
		int arry[] = {1,2,3,4,5,6};
		int count = conditionTimes(arry);
		int rest = arry.length - count;
		if(rest == 0){//A(n)(n)种组合
			int result = resultCount(arry.length,arry.length);
			System.out.println(result);
		}else{//A(n)(n-重复数字+1)除以A(重复数字)(1)
			int result = resultCount(count,arry.length)/resultCount(1,(rest+1));
			System.out.println(result);
		}
	}
	
	public static int conditionTimes(int arry[]){
		Map<Integer,Integer> map = new HashMap<Integer, Integer>();
		for(int i=0;i<arry.length;i++){
			map.put(arry[i], arry[i]);
		}
		return map.size();
	}
	
	public static int resultCount(int start,int end){
		int result = 1;
		for(int i=1;i<=start;i++){
			result*=end;
			end--;
		}
		return result;
	}
	
}
分享到:
评论

相关推荐

    计算数字排列组合,任意数字的组合。

    2. **组合的计算**:组合的总数用组合数C(n, r)表示,即从n个不同元素中不重复地取出r个元素的组合数。组合数的计算公式为C(n, r) = n! / [r!(n-r)!]。 3. **算法实现**:在编程中,常用递归或动态规划方法实现排列...

    2020_2021学年高中数学模块综合测评新人教A版必修3

    12. **组合概率**:问题12未提供具体内容,但可以推测是关于组合数学或者概率的问题,可能涉及组合总数计算或组合概率的求解。 以上知识点涵盖了高中数学中的概率论、统计分析、算法设计、集合与逻辑、数制转换、...

    排列组合公式排列组合计算公式.doc

    在解决实际问题时,比如计算可能性、优化问题或者解决概率问题时,排列组合公式经常被用来精确地计算可能的情况数目。下面将详细阐述排列和组合的基本概念以及它们的计算公式。 排列是指从n个不同元素中取出m(m≤n...

    排列组合公式排列组合计算公式.pdf

    排列组合是离散数学中的基本概念,用于计算在一定条件下对象的选择或排列方式。在概率论、统计学和计算机科学等领域都有广泛的应用。排列是指从给定数量的元素中取出指定数量的元素,并考虑其顺序的所有可能方式。...

    cbi.rar_计算组合数

    标题"cbi.rar_计算组合数"暗示我们将探讨如何计算组合数,特别是如何避免使用递归方法。递归虽然直观,但在处理大规模数据时可能导致栈溢出或效率低下。因此,非递归实现对于计算大量组合数更为合适。 描述中的"C...

    C#界面实现重集的r组合求解

    在不考虑元素顺序的情况下,从n个不同元素中选取r个元素的方法总数称为组合数,通常用C(n,r)表示。组合数的计算公式为: \[ C(n,r) = \frac{n!}{r!(n-r)!} \] 这里的"!"代表阶乘,例如5! = 5 × 4 × 3 × 2 × 1...

    基于C++实现通过组合函数计算n个元素中由k个元素组合的子集个数

    在编程领域,组合函数C(n, k)是一个重要的数学概念,它表示在n个不同元素中,不考虑顺序,选择k个元素的方法总数。在C++中实现这个功能,可以帮助我们解决很多组合优化问题,例如计数、排列组合等。本篇文章将详细...

    排列组合公式排列组合计算公式----高中数学!.doc

    在高中数学中,排列组合公式是一种重要的概念,用于计算从一个集合中取出一定数量的元素的排列或组合的总数。 排列组合公式的定义:排列(Permutation)是指从 N 个元素中取 R 个元素,并且考虑顺序的排列方式。...

    组合数学及其算法(杨振生)

    **组合的计算**:组合的总数由组合公式给出,C(n, k) = n!/ (k!(n-k)!), 表示从n个不同元素中选取k个的组合数。 **鸽巢原理**:这是组合数学中的基本原理,它指出如果有更多的物体(鸽子)要放入较少的容器(鸽巢)...

    组合数学引论部分课后习题答案

    习题中可能包括计算排列数(排列的总数)和组合数(组合的总数),例如计算n个不同元素的k个排列或k个组合的数目。 第3章可能涉及二项式定理,这是组合数学中的一个关键工具。二项式定理描述了任何两个变量的幂次...

    排列组合练习数据

    组合的总数记为C(n, m),计算公式为C(n, m) = P(n, m) / m! = n! / [m!(n - m)!]。组合主要用于统计不考虑顺序的情况,比如选择团队成员、抽奖等。 在实际应用中,排列组合问题往往涉及到实际场景,例如:安排比赛...

    云计算-给定物品组合情况下组合分配问题计算复杂性研究.pdf

    对于VE&gt;0的情况,给出了组合分配问题的近似比率的下界,即物品的总数。此外,还提供了对于不同参数的组合分配问题近似比率的下界估计。 综上所述,这篇研究深入分析了云计算环境下组合分配问题的计算复杂性,提出了...

    组合数学课件,卢开澄

    2. 反向计数:有时,直接计数困难,可以考虑计算不允许的情况,然后从总数中减去。 3. 枚举法:直接列出所有可能情况,适用于小规模问题。 4. Burnside引理:在群论和组合设计中有广泛应用,帮助计算对象的等价类...

    辽宁省盘锦市第二高级中学2020_2021学年高二数学下学期第一次阶段考试试题202104280344

    - 题目10是组合计数问题,需要考虑限制条件下的组合总数计算。 - 题目11涉及到长方体中的几何关系,包括异面直线、点到平面的距离等概念。 - 题目12是双曲线的性质,特别是离心率的计算,离心率e=c/a,其中c是...

    组合数学第四版答案详解

    9. **Burnside引理**:在组合设计和图论中,用来计算具有某种对称性的对象数量。 在学习过程中,解答章节习题是检验理解并深化知识的关键环节。第四版的组合数学答案详解能提供清晰的解题思路和方法,帮助学生识别...

    mysql查询根据列按条件统计总数

    ### MySQL 查询根据列按条件统计总数 在MySQL中,经常需要对数据进行统计分析,特别是针对某一特定条件下的数据总量的统计。...通过这种方式,我们可以灵活地组合不同的查询来满足复杂的数据统计需求。

    疯狂排列组合

    《疯狂排列组合》是一款专注于排列组合计算的软件,旨在帮助用户高效地理解和计算各种排列组合问题。在数学领域,排列组合是概率论、统计学和计算机科学中的基础概念,广泛应用于数据分析、算法设计以及问题求解等多...

    东南大学 组合数学第四版答案richard

    第二章可能会深入到组合的排列和组合问题,例如排列的定义、排列数(阶乘)以及组合的计算。排列是指有限集合中元素的一种有顺序的全排列,而组合则是不考虑顺序的选取。排列数和组合数是组合数学中的基本计数工具,...

    阶乘与排列组合算法 各行各业都能用到

    )是计算一个正整数n的所有小于等于n的正整数乘积,而排列组合则是解决如何从给定元素集合中选择特定数量的元素,考虑顺序或者不考虑顺序的问题。 首先,我们来详细解释阶乘。阶乘在数学上定义为n! = n × (n-1) ×...

    组合数学答案(卢海澄)

    8. **容斥原理**:用于解决包含与排除的问题,它提供了一种计算元素总数的方法,考虑了所有可能的选择情况和重叠情况。 9. **生成函数**:是组合数学中的一个重要工具,通过多项式来表示一个序列,从而简化计算和...

Global site tag (gtag.js) - Google Analytics