Time Limit: 5000 ms    Memory Limit: 10000 kB  
Total Submit : 432 (78 users)   Accepted Submit : 108 (57 users)   Page View : 3479  Font Style: Aa Aa Aa
Your task in this problem is to determine the number of divisors of Cnk. Just for fun -- or do you need any special reason for such a useful computation?
Input
The input consists of several instances. Each instance consists of a single line containing two integers n and k (0 ≤ k ≤ n ≤ 431), separated by a single space.
Output
For each instance, output a line containing exactly one integer -- the number of distinct divisors of Cnk. For the input instances, this number does not exceed 263 - 1.
Sample Input
5 1
6 3
10 4Sample Output
2
6
16

代码如下:12=2^2*3^1 因子个数就等于(2+1)*(1+2)=12

#include<iostream>
#include<cstdio>
using namespace std;
int num;
bool a[]; struct prime
{
int num;
int count;
}p[]; void init()
{
int i,j;
memset(a,true,sizeof(a));
num=;
for(i=;i<;i++)
{
if(a[i]) p[num++].num=i;
for(j=;j<num&&i*p[j].num<;j++)
{
a[p[j].num*i]=;
if(i%p[j].num==)
break;
}
}
} __int64 Deal(int n,int m)
{
int i,j;
int a,b;
__int64 sum=;
if(m*<n)
a=n,b=n-m;
else
a=n,b=m;
for(i=;i<num;i++)
p[i].count=;
for(i=b+;i<=a;i++)
{
int t=i;
for(j=;p[j].num<=i && j<num && t!=;j++)
{
while(t%p[j].num==)
{
t/=p[j].num;
p[j].count++;
}
}
}
for(i=;i<=a-b;i++)
{
int t=i;
for(j=;p[j].num<=i && j<num && t!=;j++)
{
while(t%p[j].num==)
{
t/=p[j].num;
p[j].count--;
}
}
}
for(i=;i<num;i++)
{
if(p[i].count)
sum*=(p[i].count+);
}
return sum;
} int main()
{
int n,m;
init();
while(cin>>n>>m)
printf("%I64d\n",Deal(n,m));
return ;
}

最新文章

  1. HTML 动态云启动画面
  2. Struts2拦截器之ModelDrivenInterceptor
  3. 转:ASP.NET MVC扩展之HtmlHelper辅助方法
  4. &lt;转&gt;RowState 介绍
  5. 用JQuery给图片添加鼠标移入移出事件
  6. Spring的javaMail邮件发送(带附件)
  7. DHCP工作过程详解
  8. 信号量及PV原语
  9. 2002: [Hnoi2010]Bounce 弹飞绵羊 - BZOJ
  10. jdk1.7升级到jdk1.8后出错: [ERROR] javadoc: warning - Multiple sources of package comments found for package
  11. Java开源建站工具
  12. python核心编程-习题-第二章
  13. php Excel文件导入 Spreadsheet_Excel_Reader
  14. UNIX网络编程——网络层:IP
  15. 工作中拓展的加密解密传输方式. DES对称加密传输.
  16. mysqlslap 压力测试使用总结
  17. win10安装virtualBox创建CentOS6.5虚拟机
  18. bzoj 3450 期望分数
  19. js中ajax异步问题
  20. 西南交通大学结构服役安全及力学基础创新团队在Wiley出版英文专著(转载)

热门文章

  1. 洛谷 P1334 瑞瑞的木板==P2664 【题目待添加】
  2. 洛谷 P1009 阶乘之和
  3. WebStorm 配置less
  4. jquery分页组件(每页显示多少条)
  5. 使用Cordova将您的前端JavaScript应用打包成手机原生应用
  6. 阿里云apt-get安装包时Err:2 http://mirrors.cloud.aliyuncs.com/ubuntu xenial-security/main amd64 git amd64 1:2.7.4-0ubuntu1.2 404 Not Found
  7. 虚拟DOM -------- 最易理解的解释
  8. 面向对象编程OOP-2
  9. Linux文件的IO操作 一
  10. java在线聊天项目 swt可视化窗口Design 登录框注册按钮点击改变窗口大小——出现注册面板 实现打开登录框时屏幕居中