North--素数
文章平均质量分 59
leader_win
一份温情,一份感动
展开
-
质数检测V2
题目链接:点击打开链接素数检测有n多种方法,按定义来,或者费马小定理。但对于大数来说java大法好啊import java.math.BigInteger;import java.util.*;public class Main { public static void main(String[]args) { Scanner cin=new Scanner(Sy原创 2016-01-14 14:53:19 · 608 阅读 · 0 评论 -
Sigma Function(算数技巧)
题意:求1~n中因子和为奇数的个数。分析:这道题就是一个技巧,所有的平方数的因子和为奇数,因为所有平方数的因子数为奇数个,如果因子是偶数,一定是偶数个,因为平方数中素因子分解后素因子2的幂为偶数,无论怎么组合,一定有偶数个能被2整除的数,剩下的就是奇数个奇数,和一定是奇数。此外,平方数乘以2也是因子数为奇数,因为这个数一定有偶数个因子,其中偶数的个数一定为奇数个,因为素因子2的幂一定是奇数否则原创 2016-03-17 12:49:28 · 4480 阅读 · 0 评论 -
Help Hanzo(素数筛)
题意:本题就是求l~u之间有多少个素数;分析:因为题数很大,所以不能用正常的素数筛法,只能先筛一部分,在用这些素数再筛出l~u之间的素数。本题和另一道题目很相似(传送门);另一道题题目链接:http://poj.org/problem?id=2689;由于不是很难,我就不赘述怎么进行素数筛,详情请见博客:http://blog.csdn.net/qq_27599517/article/原创 2016-03-17 20:32:25 · 742 阅读 · 0 评论 -
poj 2689Prime Distance
题目链接:点击打开链接;题意:在l和u之间找到相邻的素数差最大和最小的打印出来。没有输出There are no adjacent primes.分析:本题数据很大,所以int不能存下,所以用long long,此外,正常的素数筛法不能筛出这么的素数。然而我观察到l和u之间距离为1000000,所以只需要筛出l和u之间的素数就好了,并且,在小于2147483647的所有的数为素数和sqrt原创 2016-03-09 20:00:19 · 569 阅读 · 0 评论 -
素数筛模板
素数筛法,有线性筛法和非线性筛法,原理都一样,假设所有数都是素数,然后素数的倍数不是素数就筛掉。线性筛法const int N=1000500;int prime[N]={0},num_prime=0;int isNotPrime[N]={1,1};void su(){ for(long i = 2 ; i < N ; i ++){ if(! isNo原创 2016-03-11 21:00:22 · 574 阅读 · 0 评论 -
hdu 50722014鞍山现场赛C题(容斥原理+同色三角形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5072;题意:找出一个3元集合使集合中的两两互质,或两两不互质。这样的集合的个数。分析:将每个数都幻化成点,互质的边为1,不互质的边为0,这样只需找到,边同为1或者同为0的三角形有多少个就行。那我们就先把数进行素因子分解,求得所有数的素因子都有多少个。然后再枚举每个数的素因子情况,进行容斥原理求原创 2016-04-08 18:48:29 · 2570 阅读 · 0 评论 -
lightoj1236(素因子分解)
题目链接:http://vjudge.net/problem/LightOJ-1236;题目分析:本题是求解,在小于n的数中有多少lcm值是n,其实就是找小于n的数对,其素因子与n相同并且,素因子个数最大值与n相同,所以这两个数的组成,对于n的每一个素因子 ,只需要一个值等于n的素因子个数,另一个随意,设个数为a[i]这样值为2*(a[i]+1)-1,(最大的值只有一对)。本题是重复的不计数,原创 2016-10-28 12:41:42 · 758 阅读 · 0 评论