用 C 编程语言求 nCr 和 nPr。


在 C 编程语言中,nCr 被称为组合。nCr 是从一组 n 个对象中选择 r 个对象,其中对象的顺序无关紧要。

nPr 被称为**排列**。nPr 是从一组 'n' 个对象中排列 'r' 个对象,这些对象应按顺序排列。

排列和组合公式

以下是在 C 语言中求给定数字的排列和组合的公式:

  • nCr = n!/(r!*(n-r)!)
  • nPr = n!/(n-r)!。

用于求 nCr 的逻辑如下:

result = factorial(n)/(factorial(r)*factorial(n-r));

用于求 nPr 的逻辑如下:

result = factorial(n)/factorial(n-r);

示例

以下是用 C 语言求给定数字的排列和组合的程序:

#include <stdio.h>
long factorial(int);
long find_ncr(int, int);
long find_npr(int, int);
int main(){
   int n, r;
   long ncr, npr;
   printf("Enter the value of n and r
");    scanf("%d%d",&n,&r);    ncr = find_ncr(n, r);    npr = find_npr(n, r);    printf("%dC%d = %ld
", n, r, ncr);    printf("%dP%d = %ld
", n, r, npr);    return 0; } long find_ncr(int n, int r) {    long result;    result = factorial(n)/(factorial(r)*factorial(n-r));    return result; } long find_npr(int n, int r) {    long result;    result = factorial(n)/factorial(n-r);    return result; } long factorial(int n) {    int c;    long result = 1;    for (c = 1; c <= n; c++)    result = result*c;    return result; }

输出

执行上述程序后,它将生成以下输出:

Enter the value of n and r
5 2
5C2 = 10
5P2 = 20

更新于: 2021 年 3 月 26 日

16K+ 浏览次数

开启您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.