博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-2992 Divisors
阅读量:5225 次
发布时间:2019-06-14

本文共 1049 字,大约阅读时间需要 3 分钟。

题意:给定n和k,求C(n,k)的所有因子个数。 (0 ≤ k ≤ n ≤ 431)

思路:显然不能直接求,将C(n,k)化为n!/(k!*(n-k)!),先对431以内进行素数筛选,因为n!的因子个数等于(n-1)!的因子个数加n的因子个数,所以先打表求出阶乘的因子个数,然后就直接求了。

题目链接:

 

View Code
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 const int N=500;10 11 bool isprime[N];12 int prime[N],factor[N][N];13 int n,k,cnt;14 15 void getprime(){16 memset(isprime,false,sizeof(isprime));17 cnt=0;18 for(int i=2;i
1;j++){33 while(t%prime[j]==0){34 factor[i][prime[j]]++;35 t/=prime[j];36 }37 }38 }39 }40 41 int main(){42 43 // freopen("data.in","r",stdin);44 // freopen("data.out","w",stdout);45 46 getprime();47 getfactor();48 while(scanf("%d%d",&n,&k)!=EOF){ 49 long long ans=1;50 for(int i=1;prime[i]<=n;i++)51 ans*=(factor[n][prime[i]]-factor[k][prime[i]]-factor[n-k][prime[i]]+1);52 printf("%lld\n",ans);53 }54 return 0;55 }

转载于:https://www.cnblogs.com/Hug-Sea/articles/2637438.html

你可能感兴趣的文章
Sinatra+SQLite3+DataMapper - 十分完整的tutorial - “Superdo”
查看>>
我与solr(四)--solrJ
查看>>
文件上传
查看>>
---------------------------2000---------------------------------
查看>>
selenium系列------元素定位套路
查看>>
linux下安装java jdk
查看>>
Highcharts 统计图
查看>>
河南千万富豪达1.87万人 每5637个人里就有1个
查看>>
iOS热更新技术被苹果官方警告?涉及到RN、Weex、JSPatch
查看>>
11月回顾总结
查看>>
Keil开发的ARM程序main函数之前的汇编分析
查看>>
session和cookie的最深刻理解
查看>>
构造函数
查看>>
java中的类型比较
查看>>
17国庆day3
查看>>
ubuntu chrome
查看>>
python--11、协程
查看>>
使用react中遇到的问题
查看>>
linux学习笔记-配置vbox虚拟机本地连接和外网同时可用
查看>>
UVA1437 String painter
查看>>