组合数取模(comb)

【问题描述】

计算C(m,n)mod 9901的值

【输入格式】

从文件comb.in中输入数据。

输入的第一行包含两个整数,m和n

【输出格式】

输出到文件comb.out中。

输出一行,一个整数

【样例输入】

2 1

【样例输出】

2

【数据规模与约定】

对于 20%的数据,n<=m<=20

对于 40%的数据,n<=m<=2000

对于 100%的数据,n<=m<=20000

这道题描述很清楚,有很多种做法,第一题还是挺水的,而且很多网站上也有

自己比较懒,因为摸的数很小,写了一个半打表半lucas。

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int C[][];
int main()
{
int i,j;
int n,m;
cin>>n>>m;
for(i=;i<=;i++)
{
C[i][i]=;
C[i][]=;
C[i][]=;
}
for(i=;i<=;i++)
{
for(j=;j<=i;j++)
{
C[i][j]=((C[i-][j-])%+(C[i-][j])%)%;
}
}
int ans=;
ans=(C[n/][m/]*C[n%][m%])%;
cout<<ans;
}

还有一种是直接lucas..

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
typedef long long LL;
LL n,m,p;
LL quick_mod(LL a, LL b)
{
LL ans=;
a%=p;
while(b)
{
if(b&)
{
ans=ans*a%p;
b--;
}
b>>=;
a=a*a%p;
}
return ans;
}
LL C(LL n, LL m)
{
if(m>n)
return ;
LL ans=;
for(int i=; i<=m; i++)
{
LL a=(n+i-m)%p;
LL b=i%p;
ans=ans*(a*quick_mod(b,p-)%p)%p;
}
return ans;
}
LL Lucas(LL n, LL m)
{
if(m == )
return ;
return C(n%p,m%p)*Lucas(n/p,m/p)%p;
}
int main()
{
scanf("%lld%lld", &n, &m);
p=;
printf("%lld\n", Lucas(n,m));
return ;
}

还有一种是直接打表..这里发一下我旁边dalao写的程序

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
int C[20039]={0};
int main()
{
C[0]=1;
int m,n,a=1,b,stp,STP,MOD=9901;
scanf("%d%d",&m,&n);
while(a<=m)
{
stp=C[0];
for(b=1;b<=a;b++)
{
STP=C[b];
C[b]=stp+C[b];
C[b]%=MOD;
stp=STP;
}
a++;
}
printf("%d",C[n]);
}

最新文章

  1. 《你不知道的JavaScript》整理(一)——作用域、提升与闭包
  2. DEVExpress GridControl|TableView |FormatConditions 按一定格式设置相应内容
  3. AndroidStudio修改项目名称
  4. sprint 1 2 3 贡献分
  5. ios7 Cocos2dx 隐藏状态栏设置
  6. ThinkPHP函数详解:R方法
  7. 2个Web上传组件
  8. Java基础知识强化66:基本类型包装类之JDK5新特性自动装箱和拆箱
  9. lucene 使用教程
  10. VDI转vmdk(VirtualBox与VMware硬盘格式转换)[转]
  11. java类静态域、块,非静态域、块,构造函数的初始化顺序
  12. Activiti-01
  13. js随机数生成,生成m-n的随机数
  14. 原生JavaScript常用的DOM操作
  15. hcna(华为)_Telnet篇
  16. 使用aspectJ实现Spring AOP的两种方式
  17. 雷林鹏分享:jQuery EasyUI 数据网格 - 条件设置行背景颜色
  18. jquery中live is not a function的问题
  19. PAT 1008 数组元素循环右移问题
  20. springbank 开发日志 SpringMVC是如何找到handler找到对应的方法并执行的

热门文章

  1. CI Weekly #18 | flow.ci iOS 最佳实践出炉,正式支持 Git@OSC 构建
  2. LESS的一点自己的理解(1)
  3. Android 窗口全屏
  4. macOS10.12部署sonarqube5.6.3 + mysql5.7.17
  5. TP5.0 PHPExcel 数据表格导出(原)
  6. React Native技术做的一个项目“微笑阅读”
  7. (继承)virtual与访问控制
  8. 基于OWIN+DotNetOpenOAuth实现OAuth2.0
  9. Javascript &amp; JQuery读书笔记
  10. Maven学习(四)