组合数 C语言练习

原创 2013年12月03日 13:08:27
从A+B个不同的物品中选择A个物品,共有多少种不同的选法。由于A,B会很大,所以结果对C取下余。
输入
首先输入T,代表共有T组测试数据。
每组数据包括三个数字,A,B,C;
输出
输出只有一个数,如题目描述。
样例输入
2
1 1 100
2 2 100
样例输出
2

6


#include<stdio.h>
int main(){
	int i,n,tmp[10000][2];
	int result(int,int);
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d %d",&tmp[i][0],&tmp[i][1]);
	}
	for(i=0;i<n;i++){
		printf("%d\n",result(tmp[i][0],tmp[i][1]));
	}
	return 0;
}
int result(int a,int b){
	int k,i,j,fenzi,fenmu;
	fenzi=1;
	fenmu=1;
	k=0;
	for(i=a+b;k<a;i--,k++){
		fenzi*=i;
	}
	for(j=1;j<=a;j++){
		fenmu*=j;
	}
	return fenzi/fenmu;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言中,输出一组数的排列和组合

N个元素中取出M个元素的所有排列 #include #define MAX 10 void print(); void Perm(int step); int used[MAX] = {0};...

一个中兴的面试题,输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解(c语言递归函数分解法)

原题目:输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解 c语言解法分析:            先判定n和m的大小,如果m小于n,则只需从1...

关于c语言组合数精确度问题

最近遇到几个组合数的问题,wu

c语言:组合问题

  • 2015-11-06 19:40
  • 14KB
  • 下载

排列组合 C语言实现

#include #include int array[] = {1,2,3,4};#define N 4 #define M 3 int queue[N] = {0}; //保存已经找到的结果...
  • socho
  • socho
  • 2016-06-04 23:15
  • 1972

C语言算法—(生成数字的组合升级)生成数据的全排列(类似建立树的回溯法)

其实我们可以看到,在上一个算法(生成数字的组合)中,生成的数据中包含了已知数据的全排列在其中了; 所以我们可以对上一个程序生成的数据进行一次筛选就可以得到全排列;首先,给出上一个算法(生成数字的组合...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)