这道题有个小技巧,就是既然是n!,那么对2009求余,只要大于2009!,那么一定是0,在仔细想想会发现,根本到不了2009,只要到2009的最大质因数就行了,为什么呢?因为最大质因数是最大的一个不能被2009整除的,2009的最大质因数是41,也就是只要大于41的阶乘的都可以整除2009,因为41...
分类:
其他好文 时间:
2014-12-16 22:31:57
阅读次数:
268
题目大意(质因数分解+素数打表):给出n的质因数分解式,求n-1的质因数的分解式。比如第二组sample,就是5^1*2^1=10, 求10-1即9的质因数分解,从大到小输出。...
分类:
其他好文 时间:
2014-12-16 08:49:29
阅读次数:
213
import java.util.*;
class 分解质因数
{
static ArrayList al;
public static void main(String[] args)
{
al=new ArrayList();
fenjie(84729332);
System.out.println(al);
}
public static void fenjie(int...
分类:
编程语言 时间:
2014-12-13 18:04:41
阅读次数:
255
1 秒
内存限制:32 兆
特殊判题:否
提交:4466
解决:1375
题目描述:
求正整数N(N>1)的质因数的个数。
相同的质因数需要重复计算。如120=2*2*2*3*5,共有5个质因数。
输入:
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1
输出:
对于每组数据,输出N的质因数的个数。
样例...
分类:
其他好文 时间:
2014-12-10 18:13:07
阅读次数:
211
题目就是指定n,求卡特兰数Ca(n)%m。求卡特兰数有递推公式、通项公式和近似公式三种,因为要取余,所以近似公式直接无法使用,递推公式我简单试了一下,TLE。所以只能从通项公式入手。Ca(n) = (2*n)! / n! / (n+1)!思想就是把Ca(n)质因数分解,然后用快速幂取余算最后的答案。...
分类:
其他好文 时间:
2014-12-03 13:58:09
阅读次数:
319
题目链接:点击打开链接
首先要n-=2,然后就是一个卡特兰数了。
上一题用的是 h(n) = h(n-1) * (4n-2)/(n+1);
这题用的是 h(n) = (2n)! * n! / (n+1)!;
然后对阶乘分解质因数:
点击打开链接
分解完了直接快速幂。
#include
#include
#include
#include
using namespace std;
#d...
分类:
其他好文 时间:
2014-11-29 16:04:29
阅读次数:
284
描述给定两个数m,n,其中m是一个素数。将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。输入第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m。输出输出m的个数。样例输入2100 516 2样例输出2415 1 import java.ut...
分类:
其他好文 时间:
2014-11-29 13:06:29
阅读次数:
244
题目链接:传送门
题意:求[1,n]内与m互质的个数。
容斥原理:奇加偶减(奇数个类的计数和-偶数个类的计数和)
对于这个问题,首先求出m的质因数fac[] , 然后所在区间内有n/fac[i]个数 一定不能与m互质(比如m=8,n=10,对于fac[]=2,有2,4,6,8,10 即5(10/2)个数不能与8互质)。。枚举每一个质因数选还是不选。可以位运算,也可以dfs
第一发容斥,准...
分类:
其他好文 时间:
2014-11-25 23:31:14
阅读次数:
282
题目链接:BZOJ 1053想一想就会发现,题目让求的 1 到 n 中最大的反素数,其实就是 1 到 n 中因数个数最多的数。(当有多于一个的数的因数个数都为最大值时,取最小的一个)考虑:对于一个整数 n ,如何求 n 的因数的个数? 将 n 分解质因数,n = p1^a1 * p2^a2 * p....
分类:
其他好文 时间:
2014-11-25 23:05:37
阅读次数:
252
题意:给你一个正整数n, 找到一个最小的数m,使得n/m为质数。题解:质因数分解 1 #include 2 #include 3 #include 4 typedef long long ll; 5 6 int main() 7 { 8 ll n; 9 while( ~sca...
分类:
其他好文 时间:
2014-11-23 13:02:04
阅读次数:
167