ระบุด้วย 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 function to calculate the final 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>
//function to calculate the factorial for npr
int cal_n(int n){
if (n <= 1)
return 1;
return n*cal_n(n-1);
}
//function to calculate the final 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