素数筛选法(埃拉托斯特尼筛法)

阅读: 评论:0

素数筛选法(埃拉托斯特尼筛法)

素数筛选法(埃拉托斯特尼筛法)

统计所有小于非负整数 n 的质数的数量。

 

示例 1:

输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

示例 2:

输入:n = 0
输出:0

示例 3:

输入:n = 1
输出:0

来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

筛选法的主要思想就是,找到每个素数,然后根据素数的倍数把非素数剔除掉,剩下来的就是素数。以下是我写的代码。

class Solution {
public:int countPrimes(int n) {int count=0;vector<bool>a(n,true);for(int i=2;i<n;i++){if(a[i]==true){count++;for(int j=i+i;j<n;j+=i){a[j]=false;}}}return count;}
};

 

本文发布于:2024-02-05 03:03:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170722491462421.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:素数   斯特   埃拉托   尼筛法
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23