摘要:
题意:求T组组合数C(n,m)的最大公约数。(1<=m<=n<=100000)思路:求出每组组合数的公共素因子,相乘。对于一个数n,从1到n有多少个数包含一个素因子p呢?答案:n/p个,两个p呢,n/p/p个。所以,求N!里包含某素数因子p的个数,就可以这样求。1 while(n>0){2 x+=n/p;3 n/=p;4 }题目链接:http://acm.fzu.edu.cn/problem.php?pid=1753View Code 1 #include <cstdio> 2 #include <cmath> 3 #include <cs 阅读全文
摘要:
题意:给定n和k,求C(n,k)的所有因子个数。(0 ≤ k ≤ n ≤ 431)思路:显然不能直接求,将C(n,k)化为n!/(k!*(n-k)!),先对431以内进行素数筛选,因为n!的因子个数等于(n-1)!的因子个数加n的因子个数,所以先打表求出阶乘的因子个数,然后就直接求了。题目链接:http://poj.org/problem?id=2992View Code 1 #include <cstdio> 2 #include <cmath> 3 #include <cstdlib> 4 #include <cstring> 5 #incl 阅读全文