日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

线性复杂度的素数筛选法

發布時間:2024/8/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性复杂度的素数筛选法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// #include"cstdio" // #include"cstring" // using namespace std; // #define maxn 100000//求maxn范圍內的素數 // long long su[maxn],cnt; // bool isprime[maxn]; // void prime() // { // cnt=1; // memset(isprime,1,sizeof(isprime));//初始化認為所有數都為素數 // isprime[0]=isprime[1]=0;//0和1不是素數 // for(long long i=2;i<=maxn;i++) // { // if(isprime[i])//保存素數 // { // su[cnt++]=i; // } // for(long long j=i*2;j<=maxn;j+=i)//素數的倍數都為合數 // { // isprime[j]=0; // } // } // } // int main() // { // prime(); // for(long long i=1;i<cnt;i++) // printf("%d ",su[i]); // return 0; // } #include <bits/stdc++.h> using namespace std; #define maxn 100000//求maxn范圍內的素數 long long su[maxn],cnt; bool isprime[maxn]; void prime() {cnt=1;memset(isprime,1,sizeof(isprime));//初始化認為所有數都為素數isprime[0]=isprime[1]=0;//0和1不是素數for(long long i=2;i<=maxn;i++){if(isprime[i])su[cnt++]=i;//保存素數i//下面這個循環的時間復雜度相比較于maxn可以忽略不計for(long long j=1;j<cnt&&su[j]*i<maxn;j++){isprime[su[j]*i]=0;//篩掉小于等于i的素數和i的積構成的合數 }} } int main() {prime();for(long long i=1;i<cnt;i++)printf("%d ",su[i]);return 0; }

?

轉載于:https://www.cnblogs.com/buerdepepeqi/p/9351662.html

總結

以上是生活随笔為你收集整理的线性复杂度的素数筛选法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。