2011年山东ACM第二届省赛 Binomial Coeffcients(求组合数)
2016-04-27 16:38
330 查看
Binomial Coeffcients
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入
输出
示例输入
3 1 1 10 2 954 723
示例输出
1 45 3557658
解:题意就是求解n的阶乘除以(n-k)的阶乘与k的阶乘的积所得的商并且商对10000003取模。在进行求解时可发现:a[1][1]=1;a[2][1]=2;a[2][2]=1;a[3][1]=3;a[3][2]=3;a[3][3]=1;a[4][1]=1;a[4][2]=6;a[4][3]=4;
a[4][4]=1;可发现规律:
n=k或k=0时,结果为1;
当k=1时,结果为n;
a[i][j]=(a[i-1][j-1]+a[i-1][j])%10000003;
代码采用递推打表:
#include<stdio.h> int a[1005][1005]; int main() { int t,n,k; int i,j; scanf("%d",&t); for(i=1;i<1005;i++) { a[i][0]=a[i][i]=1; a[i][1]=i; for(j=1;j<i;j++) { a[i][j]=(a[i-1][j-1]+a[i-1][j])%10000003; } } while(t--) { scanf("%d %d",&n,&k); if(n==k || k==0) { printf("1\n"); } else{ printf("%d\n",a [k]); } } }
相关文章推荐
- .ashx接收APPCAN发送过来的图片数据流,保存为图片
- TDDL动态数据源开源-示例使用说明
- annovar对人类基因组和非人类基因组variants注释流程
- Java并发编程:如何创建线程?
- header函数运用
- HTML5——地图应用
- js execCommand
- poj3233 矩阵等比数列求和 二分
- Python之numpy
- mysql UTF-8 中文乱码问题
- Sa求法
- iOS如何获取手机的Mac地址
- [文档] TDDL和Diamond的使用(三):TDDL
- 剑指offer:把数组排成最小的数
- 模拟UA实现访问只能在微信上打开的网页
- 设置Linux内核参数 /etc/sysctl.conf
- Python 正则表达式的简单使用示例
- C++实践参考:警察与厨师
- Java发送邮件代码
- git四步骤