组合数 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语言求组合数

C语言求组合数不能直接使用数学公式C(n,m)=(m!)/(n!*(n-m)!);即使VC 6.0的int是32bit,但其实当计算到17!时候就会溢出,所以需要另辟蹊径。     先来把公式变...
  • MyHeaven7
  • MyHeaven7
  • 2016年01月03日 10:35
  • 3264

用C语言求组合数

C语言求组合数不能直接使用数学公式C(n,m)=(m!)/(n!*(m-n)!);即使VC 6.0的int是32bit,但其实当计算到17!时候就会溢出,所以需要另辟蹊径。     先来把公式变...
  • o470888980
  • o470888980
  • 2015年05月19日 22:00
  • 1223

C语言实现排列组合

c语言实现排列组合算法问题 排列组合是算法常用的基本工具,如何在c语言中实现排列组合呢?思路如下: 首先看递归实现,由于递归将问题逐级分解,因此相对比较容易理解,但是需要消...
  • wangshengfeng1986211
  • wangshengfeng1986211
  • 2014年08月04日 11:02
  • 19986

c语言实现求组合数(带点优化的思想,防止溢出)

这是大家都知道的组合数,思想也很简单,但是里面的阶乘,容易溢出,让m!/n!先约分,减小数的大小,m!/n! = (n+1)(n+2)(n+3)···(m-1)(m); 如果m-n > n的话,我们...
  • u014574317
  • u014574317
  • 2017年04月02日 22:10
  • 452

计算组合数,用C语言编程

  • 2009年03月06日 22:49
  • 535B
  • 下载

纯C语言:递归组合数源码

#include int sum(int m,int n) { if(n==m||n==0) return 1; else return sum(m-1,n)+sum(m-1,n-1); ...
  • u011131296
  • u011131296
  • 2014年01月03日 00:07
  • 1539

排列组合 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
  • 2917

c语言实现的排列组合程序

  • 2009年06月25日 21:05
  • 282KB
  • 下载

PAT Basic 1056. 组合数的和(15)(C语言实现)

题目 给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330...
  • Oliver__Lew
  • Oliver__Lew
  • 2017年05月18日 23:46
  • 156

【模板】组合数打表

#include using namespace std; int c[1005][1005]; int main(){ memset(c,0,sizeof(c)); c[0][0] = 1...
  • i1020
  • i1020
  • 2017年08月14日 16:06
  • 121
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:组合数 C语言练习
举报原因:
原因补充:

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