置换和组合是组合学的一部分。置换是一组元素可以进行的不同安排,如果一次使用一个元素,一次使用某个元素,或者一次使用全部元素。如果一次选择一个元素,一次选择一些元素或一次全部选择元素,则组合是选择元素的不同方式。
一个例子如下:
Permutation = factorial(n) / factorial(n-r); Combination = factorial(n) / (factorial(r) * factorial(n-r)); n = 5 r = 3 Permutation = 60 Combination = 10
演示此的程序如下所示-
public class Example { static int factorial(int n) { int fact = 1; int i = 1; while(i <= n) { fact *= i; i++; } return fact; } public static void main(String args[]) { int n = 7, r = 3, comb, per; per = factorial(n) / factorial(n-r); System.out.println("Permutation: " + per); comb = factorial(n) / (factorial(r) * factorial(n-r)); System.out.println("Combination: " + comb); } }
上面程序的输出如下-
输出结果
Permutation: 210 Combination: 35
现在让我们了解上面的程序。
函数阶乘使用while循环查找数字n的阶乘。然后它返回事实。证明这一点的代码片段如下所示-
static int factorial(int n) { int fact = 1; int i = 1; while(i <= n) { fact *= i; i++; } return fact; }
在函数中main()
,使用各自的公式找到n和r的置换和组合。然后显示结果。证明这一点的代码片段如下所示-
public static void main(String args[]) { int n = 7, r = 3, comb, per; per = factorial(n) / factorial(n-r); System.out.println("Permutation: " + per); comb = factorial(n) / (factorial(r) * factorial(n-r)); System.out.println("Combination: " + comb); }