组合数

题目:

找出n个自然数(1,2···n)中取r个数的组合,例如当n=5,r=3时所有组合为

1 2 3 
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5

此题只需求出组合数的个数

输入描述:

5 3

20 18

输出描述:

10 

190


#include <iostream>
using namespace std;

int main(){
	int m, i, j, n;
	int M = 1, N = 1;
	
	cin >> m >> n;
	
	if(m - n < n){
		n = m - n;
	}
	for(i = 1; i <= n; i++){
		M = M * m;
		m = m - 1;	
	}
	for(j = 1; j <= n; j++){
		N = N * j;
	}
	cout << M / N;
}


猜你喜欢

转载自blog.csdn.net/ctgu361663454/article/details/78033896