给定n P r,其中P代表置换,n代表总数,r代表排列,任务是计算nPr的值。
排列是按顺序或顺序排列的数据。排列和组合在意义上是不同的,排列是排列的过程,而组合是从给定集合中选择元素的过程。
排列的公式是-
nPr = (n!)/(n-r)!
Input-: n=5 r=2 Output-: 20
Start Step 1 -> declare function to calculate value of nPr int cal_n(int n) IF n <=1 Return 1 End return n*cal_n(n-1) Step 2 -> Declare 函数计算最终npr- int nPr(int n, int r) return cal_n(n)/cal_n(n-r) Step 3 -> In main() Declare variables as int n=5, r=2 Print nPr(n, r) Stop
#include<stdio.h>
//函数计算npr的阶乘
int cal_n(int n){
if (n <= 1)
return 1;
return n*cal_n(n-1);
}
//函数计算最终npr-
int nPr(int n, int r){
return cal_n(n)/cal_n(n-r);
}
int main(){
int n=5, r=2;
printf("value of %dP%d is %d", n, r, nPr(n, r));
return 0;
}输出结果
value of 5P2 is 20