今天刷到了一到比较有趣的题
题目描述为:求小于n的所有质数
比较快速的办法是使用艾拉托斯特尼筛法
埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。
Java实现如下:
public int countPrimes(int n) {
boolean[] isNotPrime = new boolean[n];
int count = 0;
for(int i=2;i<n;i++){
if(!is

本文介绍了如何使用埃拉托斯特尼筛法高效地找到小于给定数值n的所有质数。该算法通过依次筛选质数及其倍数来确定素数集合。示例提供了Java实现代码,展示如何求特定范围内的所有质数。
最低0.47元/天 解锁文章
865

被折叠的 条评论
为什么被折叠?



