c语言中c=(n, m)什么意思?怎么理解?

Python022

c语言中c=(n, m)什么意思?怎么理解?,第1张

C(n,m) ----------n是下标 , m是上标 (C上面m,下面n),C(n,m) 表示 n选m的组合数,等于从n开始连续递减的m个自然数的积除以从1开始连续递增的m个自然数的积。

例子:

C(8,3)=8*7*6/(1*2*3) =56

分子是从8开始连续递减的3个自然数的积

分母是从1开始连续递增的3个自然数的积

扩展资料

1、组合定义

组合(combination),数学的重要概念之一。从n个不同元素中每次取出m个不同元素(0≤m≤n),不管其顺序合成一组,称为从n个元素中不重复地选取m个元素的一个组合。

2、组合总数

组合总数(total number of combinations)是一个正整数,指从n个不同元素里每次取出0个,1个,2个,…,n个不同元素的所有组合数的总和。

3、重复组合

重复组合(combination with repetiton)是一种特殊的组合。从n个不同元素中可重复地选取m个元素。不管其顺序合成一组,称为从n个元素中取m个元素的可重复组合。当且仅当所取的元素相同,且同一元素所取的次数相同,则两个重复组合相同。

参考资料:百度百科-组合

#include <stdio.h>

int c(int m,int n)

{int i,c=1

 for(i=1i<=n)

   c=c*m--/i++

 return c  

}

int main()

{int m,n

 scanf("%d%d",&m,&n)

 printf("%d\n",c(m,n))

 return 0

}

double fact (int n){

  doule x = 1.0

  int i

  if(n<=1) return 1

  for(i=2i<=ni++)

    x=x*i

  return x

}