C 程序 计算并打印 nCr 的值

在下面的程序中,我们计算并显示 nCr 的值。 nCr 也可以表示为 C(n, r)

公式为:

C(n, r)= n! /(r!(n - r)!),对于0 <= r <= n。这里!代表阶乘。例如:C(6, 2)= 6! /(2! * (6-2)!) => 720 /(2 * 24) => 15

我们在以下程序中进行了相同的计算。

#include <stdio.h>

int fact(int num);

void main()
{
    int n, r, ncr_var;

    printf("Enter the value of n:");
    scanf("%d", &n);
    printf("\nEnter the value of r:");
    scanf("%d", &r);
    /* ncr is also represented as C(n,r), the formula is:
     * C(n,r) = n! / ( r!(n - r)! ). For 0 <= r <= n.
     */
    ncr_var = fact(n) / (fact(r) * fact(n - r));
    printf("\nThe value of C(%d,%d) is: %d",n,r,ncr_var);
}
/* This function is used to find the 
 * factorial of given number num
 */
int fact(int num)
{
    int k = 1, i;
    // factorial of 0 is 1
    if (num == 0)
    {
        return(k);
    }
    else
    {
        for (i = 1; i <= num; i++)
    {
            k = k * i;
    }
    }
    return(k);
}

输出:

Enter the value of n:
5 
Enter the value of r:
2
The value of C(6,2) is: 15
赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

C语言 实例