筛数法求素数 筛数法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。 public void printPrimes(int n){ //定义arr数组来表示筛选出来的素数 ...
分类:
其他好文 时间:
2017-04-29 15:11:25
阅读次数:
152
/** 题目:Joseph's Problem 链接:https://vjudge.net/problem/UVA-1363 题意:给定n,k;求k%[1,n]的和。 思路: 没想出来,看了lrj的想法才明白。 我一开始往素数筛那种类似做法想。 想k%[1,n]的结果会有很多重复的,来想办法优化。 ... ...
分类:
其他好文 时间:
2017-04-26 11:49:00
阅读次数:
178
Some positive integers can be represented by a sum of one or more consecutive prime numbers. How many such representations does a given positive integ ...
分类:
其他好文 时间:
2017-04-23 15:51:15
阅读次数:
166
题目:找到整数区间[1。n]中全部的互质数对。 分析:数论,筛法,欧拉函数。在筛素数的的同一时候。直接更新每一个数字的欧拉函数。 每一个数字一定会被他前面的每一个素数筛到。而欧拉函数的计算是n*π(1-1/pi); 当中,pi是n的素数因子,所以能够利用筛法来计算欧拉函数,然后求和; 注意,这时求出 ...
分类:
其他好文 时间:
2017-04-22 12:53:17
阅读次数:
134
Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3280 Accepted Submission(s) ...
分类:
编程语言 时间:
2017-03-24 18:01:14
阅读次数:
156
将一个偶数拆成两个素数的和,欧拉筛暴力 1 #include<stdio.h> 2 #include<string.h> 3 #define N 10001 4 int prime[10001]; 5 bool check[10001]; 6 int n,i,ans,tot=0,j; 7 8 voi ...
分类:
其他好文 时间:
2017-03-19 11:06:42
阅读次数:
197
题意:求出[1,n]中满足gcd(a,b)=a xor b,且1<=a<=b<=n的对数 题解:首先a xor b = c,则a xor c = b,而b是a的约数,则可以使用素数筛选法的方法使用O(nlogn)枚举a与c 接着gcd需要O(logn)的时间,时间为O(n(logn)^2) 但是我们 ...
分类:
其他好文 时间:
2017-03-08 00:21:08
阅读次数:
142
题目链接 题意:对2~n+1染色,一个数不能与其素因子同色。 故而只需两种颜色即可,素数染1,合数染2便可满足条件 ...
分类:
其他好文 时间:
2017-02-24 15:47:49
阅读次数:
270
问:求2000以内的素数? 筛法求素数 和 暴力 时间复杂度 筛法求素数:O(N^2) 暴力:O(N^N) 原理: 去掉1,最小的数是素数,然后将最小数的倍数全部去掉,直到最小的数到达范围为止 用筛子把非素数全部筛出去。 bool是C++中的一种数据类型 0代表false 1代表true bool一 ...
分类:
其他好文 时间:
2017-02-12 15:49:02
阅读次数:
139
分析:题目很简单,主要是先把一定范围内的素数都求出来,然后用素数对的定义来统计一下所求范围内的素数对的数量就可以了。这里用了素数筛的算法来求素数。 ...
分类:
其他好文 时间:
2017-02-06 00:02:54
阅读次数:
204