下面为求取组合数的代码:

 #include <stdio.h>
#define MAX 10009
int prime[];
void print(int *v, int length)
{
int i = ;
for (; i < length; i++)
printf("%d ", v[i]);
putchar('\n');
} int getPrime()
{
int i = , k = ;
int j = ;
int flag;
prime[] = ;
for (; i < ; i++) {
for (flag = , j = ; j < k; j++) {
if (i % prime[j] == ) {
flag = ;
break;
}
}
if (!flag)
prime[k++] = i;
}
print(prime, );
} int comb(int m, int n)
{
int count[] = { };
int i = , j = ;
int mm;
int mul = , tmp;
for (i = m; i > m - n; i--) {
mm = i;
for (j = ; mm != ; j++) {
if (mm % prime[j] == ) {
mm /= prime[j];
++count[j];
--j;
}
}
}
for (i = n; i >= ; i--) {
mm = i;
for (j = ; mm != ; j++)
if (mm % prime[j] == ) {
mm /= prime[j];
--count[j];
--j;
}
}
for (i = ; i < ; i++) {
tmp = count[i];
while (tmp) {
mul = (mul * prime[i]) % MAX;
tmp--;
}
}
return mul;
} int main()
{
getPrime();
printf("%d\n", comb(, ));
return ;
}

最新文章

  1. zb的生日
  2. iOS 中contraints居中对齐的一点心得
  3. How To Set Up Apache with a Free Signed SSL Certificate on a VPS
  4. 【HDOJ】2828 Lamp
  5. SQL约束和字段约束的创建和删除
  6. 关于Spring中的PagedListHolder分页类的分析
  7. ASP.NET程序读取二代身份证(附源码)
  8. 【2017-06-01】Linq基础+Lambda表达式实现对数据库的增删改查
  9. javascript之DOM编程根据属性找标签练习
  10. Dubbo Mesh 在闲鱼生产环境中的落地实践
  11. Python复习笔记(五)面向对象
  12. models.doc2vec – Deep learning with paragraph2vec
  13. c++10进制转换为任意2-16进制数字
  14. centos7 MFS drbd keepalived
  15. Leetcode 1022. Sum of Root To Leaf Binary Numbers
  16. python列表学习
  17. 关于linux下crontab mysql备份出来的数据为0字节的问题
  18. STS(Spring Tool Suite)使用maven添加jar包
  19. 超简单CSS3实现圆角、阴影、透明效果
  20. 两个不同vim之间复制内容

热门文章

  1. C#爬取微博文字、图片、视频(不使用Cookie)
  2. Java8 新特性2——强大的Stream API
  3. Node.Js的热更新服务——supervisor
  4. CyclicBarrier源码探究 (JDK 1.8)
  5. AX2012/D365 SSRS报表开发
  6. Spring中的JdbcTemplate的使用
  7. mimtproxy的使用(windows)
  8. mysql的那些事之架构
  9. SpringCloud之Hystrix服务降级入门全攻略
  10. Windows10专业版+Microsoft office2016专业增强版免费无毒官方正版装机教程(简)