kb2.7.1分解质因数求欧拉函数#include#include#includeusing namespace std;//素数筛选和合数分解const int MAXN=10000;int prime[MAXN+1];void getPrime(){ memset(prime,0,size...
分类:
其他好文 时间:
2015-08-19 12:59:48
阅读次数:
148
题目链接:HDU 5317 RGCDQ
题意:定义函数F(x)为x的不同的素因子且小于等于x的个数,询问[l,r]区间中gcd(F(i),F(j))的最大值。
思路:暴力预处理出所有的合数分解结果,发现F(x)最大也只有7,之后就是暴力求出所有1到7出现次数的前缀和。询问的时候就打到O(1)了。
AC代码:
#include
#include
#include
using n...
分类:
其他好文 时间:
2015-07-30 11:26:53
阅读次数:
104
题目链接:http://lightoj.com/volume_showproblem.php?problem=1341题意:
给出整数 a 和 b ,求区间[b, a] 内的 a 的约数对的个数,a 的约数对(比如[2, 3] 与 [3, 2] 为同一对)。解法:
主要利用公式:
一个整数n可以表示为若干素数乘积: n = p1^a1 * p2^a2*…*pm^am;
则 n 的正因数的个数...
分类:
其他好文 时间:
2015-06-17 18:22:39
阅读次数:
98
1.题目描述:点击打开链接
2.解题思路:本题让计算两个组合数的商,既可以直接利用公式,也可以利用唯一分解定理:事先计算10000以内的所有素数,然后计算组合数分解后各个素数的幂,用数组e保存指数即可。这里计算指数时可以利用数论中求n!分解式中各个素因数指数的公式。
3.代码:
(利用唯一分解定理)
#define _CRT_SECURE_NO_WARNINGS
#include
#in...
分类:
其他好文 时间:
2015-02-20 15:15:10
阅读次数:
141
筛法求素数,寻找素数最经典快速的方法!!!
用筛法求素数的基本思想是:
把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。如有:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29...
分类:
其他好文 时间:
2014-08-06 23:01:02
阅读次数:
212