码迷,mamicode.com
首页 > 其他好文 > 详细

素数筛

时间:2020-08-04 18:15:37      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:数组   inline   复杂   简单   ==   i++   不能   代码   line   

对于一些题,我们需要去枚举n以下的素数,
但是有时可能不止一个数需要这样做,所以下面介绍一些筛出n以下的素数的方法
一.暴力求解
直接枚举每一个\(i\in[2,n]\),判断其是否是素数,然后加入数组
判断素数的话枚举\(j\in[2,\sqrt i]\),判断是否i能整除j,若都不能,则i为素数
代码比较简单,时间复杂度最高,为\(O(n\sqrt n)\)

for(int i=2;i<=n;i++){
	bool f=true;;
	for(int j=2;j<=sqrt(i);j++)if(i%j==0)f=false;
	if(f)cout<<i<<endl;
}

输出的即为n以内的所有素数

素数筛

标签:数组   inline   复杂   简单   ==   i++   不能   代码   line   

原文地址:https://www.cnblogs.com/yang-RA-NOI/p/13434831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!