Eratosthenes筛法,快速求素数。 时间复杂度 O(nlogn)。 思想 对于每个不超过n的非负整数p,删除2p,3p,4p,......,当处理完所有数后,还没有被删除的就是素数。 代码 #include <iostream> using namespace std; /** * Erat ...
分类:
其他好文 时间:
2020-11-19 12:19:29
阅读次数:
5
这是从刘汝佳的算法竞赛入门经典中看到的题,书中是这么描述的
给出正整数n和m,输出在[m, n]中的无平方因子数。PS(无平方因子数的概念请自行百度)
#include
#include
#include
bool visited[10000005];
int prime[500000];
int main(){
int n, m;
scanf("%d", &n, &m);
int i,...
分类:
其他好文 时间:
2015-05-04 20:16:39
阅读次数:
98
在知乎上看到一个问题:求十亿内所有质数的和,怎么做最快?记录一下第一回答定义为到所有整数中,在普通筛法中外层循环筛完时仍然幸存的数的和。因此这些数要不本身是素数,要不其最小的素因子也大于。因此我们需要求的是,其中是十亿。为了计算,先考虑几个特殊情况。此时所有数都还没有被筛掉,所以不是素数。因为筛法中...
分类:
其他好文 时间:
2015-04-20 01:44:52
阅读次数:
122
#include int main(){ int i,j,c=0; for(i=2;i<100;i++) { for(j=2;j<i;j++) { if(i%j==0) break; } if(j==i) { if(c%10==0) { printf('\n"); } printf("%6...
分类:
其他好文 时间:
2014-11-27 00:01:45
阅读次数:
338