ระบุด้วย 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