Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình tính giá trị nPr (hoán vị) trong C


Cho n P r, P là hoán vị, n tổng số, r số chọn sắp xếp. Tính nPr.

Hoán vị là sắp xếp theo trình tự. Khác tổ hợp (chỉ chọn).

Công thức:

nPr = n! / (n - r)!

Ví dụ

Đầu vào: n=5, r=2
Đầu ra: 20

Thuật toán

BAT DAU
B1: Hàm tính giai thừa cal_n(int n)
    NẾU n <= 1 TRẢ VỀ 1
    TRẢ VỀ n * cal_n(n-1)
B2: Hàm tính nPr
    int nPr(int n, int r)
        TRẢ VỀ cal_n(n) / cal_n(n-r)
B3: main()
    n=5, r=2
    In nPr(n,r)
KET THUC

Ví dụ

#include <stdio.h>
// Hàm giai thừa
int cal_n(int n) {
    if (n <= 1)
        return 1;
    return n * cal_n(n - 1);
}
// Hàm nPr
int nPr(int n, int r) {
    return cal_n(n) / cal_n(n - r);
}
int main() {
    int n = 5, r = 2;
    printf("Gia tri %dP%d la %d", n, r, nPr(n, r));
    return 0;
}

Kết quả

Gia tri 5P2 la 20