Permutation
优质
小牛编辑
129浏览
2023-12-01
置换是指以某种方式排列或排序集合成员的方式的数量。 从n个元素中排列k个元素的排列公式是 -
n P k = n!/(n - k)!
算法 (Algorithm)
该算法仅关注排列而不考虑阶乘的细节 -
START
Step 1 → Define values for n and r
Step 2 → Calculate factorial of n and (n-r)
Step 3 → Divide factorial(n) by factorial(n-r)
Step 4 → Display result as permutation
STOP
伪代码 (Pseudocode)
这个算法可以简单地导出到下面给出的伪代码中 -
procedure permutation()
Define n and r
P = factorial(n)/factorial(n-r)
DISPLAY P
end procedure
实现 (Implementation)
该算法的实现如下 -
#include <stdio.h>
int factorial(int n) {
int f;
for(f = 1; n > 1; n--)
f *= n;
return f;
}
int npr(int n,int r) {
return factorial(n)/factorial(n-r);
}
int main() {
int n, r;
n = 4;
r = 3;
printf("%dp%d = %d \n", n, r, npr(n,r));
return 0;
}
输出 (Output)
该方案的产出应该是 -
4p3 = 24