首页
/
每日頭條
/
生活
/
求素數的篩法
求素數的篩法
更新时间:2025-11-22 08:19:53

素數是指除1以外隻能被1和自身整除的整數。

1 從定義出發的暴力法

#include <stdio.h> bool isPrime(int n) { int ret = 0; for(int i=1;i<=n;i ) // 邊界為[1,n] { if(n%i == 0) ret ; } if(ret == 2) return true; return false; } int main() { for(int i=1;i<100;i ) if(isPrime(i)) printf("%d ",i); getchar(); }

2 暴力結合枚舉和邊界

#include <stdio.h> double sqrt(double x,double y) { if(y*y-x<-1e-5 || y*y-x > 1e-5) return sqrt(x,(y x/y)/2.0); else return y; } bool isPrime(int n) { if(n<2) return false; if(n==2) return true; if(n%2==0) return false; int limit = sqrt(n,n/2) 1; for(int i=3;i<limit;i =2) if(n%i==0) return false; return true; } void prime(int n) { for(int i = 2;i<n 1;i ) if(isPrime(i)) printf("M ",i); } int main() { prime(1000); getchar(); }

3 埃拉托斯特尼素數篩法

素數篩法的思路是:從2開始,不包括2本身,其倍數全部篩掉,剩下的全是素數。

先是篩2的倍數,篩完後剩下的最小整數是3,然後篩3的倍數;

然後篩5的倍數……

求素數的篩法(暴力和篩法求100以内的素數)1

demo code:

#include <stdio.h> #include <math.h> #include <string.h> #include <malloc.h> #define N 100 void prime(int n) { int *arr = (int*)malloc(sizeof(int)*(n 1)); memset(arr,0,sizeof(int)*(n 1));// arr[i]==0表示i是素數 arr[1] = 1; int m = sqrt(n) 1; for(int i=2;i<m;i ) if(arr[i]==0) for(int j=i*2; j<=n; j =i) arr[j] = 1; for(i=1;i<=n;i ) if(arr[i]==0) printf("M ",i); } int main() { prime(10000); getchar(); }

埃拉托色尼(Eratosthenes,公元前275一前193)生于希臘在非洲北部的殖民地昔蘭尼(cyrene,在今利比亞)。他在昔蘭尼和雅典接受了良好的教育,成為了一位博學的哲學家、詩人、天文學家和地理學家。他的興趣是多方面的,不過他的成就則主要表現在地理學和天文學方面。

-End-

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
華語樂壇真的沒落嗎
華語樂壇真的沒落嗎
文|立佳編輯|闫寶王力宏離婚上熱搜,網上一片慨歎惋惜,曾經如此相愛花式秀恩愛“宏蕾CP”終究還是成了一場空。婚姻如逝水沉舟,即便用盡全力,可能也無法挽救這份曾經的美好,隻能讓無數人唏噓又遺憾。人們紛紛感慨的時候,又重新開始回味王力宏的歌,然...
2025-11-22
求素數的篩法
求素數的篩法
素數是指除1以外隻能被1和自身整除的整數。1從定義出發的暴力法#includeboolisPrime(intn){intret=0;for(inti=1;i
2025-11-22
魯班七号和魯班大師是什麼關系
魯班七号和魯班大師是什麼關系
魯班七号和魯班大師是什麼關系?魯班大師和魯班七号關系解讀:其實魯班七号是由魯班大師制造出來的,應該是屬于歸屬關系,通俗點可以認為是爸爸和兒子的關系,現在小編就來說說關于魯班七号和魯班大師是什麼關系?下面内容希望能幫助到你,我們來一起看看吧!...
2025-11-22
為什麼要用面霜和乳液
為什麼要用面霜和乳液
面霜是基礎護膚中很普通的一步,但總有朋友會在基礎護膚中省略掉,大家普遍覺得面霜使用不使用關系應該不大,所以在日常化妝中,如果時間緊迫,或許會省略掉面霜這一步,但這樣的做法真的正确嗎?面霜在基礎護膚中起到的作用是鎖水保護,塗上面霜之後,面霜會...
2025-11-22
求助電吉他音箱知識
求助電吉他音箱知識
近日來自Blackstar黑星旗下的IDCORE,迎來了最新一代電吉他音箱V3,這次升級專業性能提升了不少,首先它有40W的輸出功率,個人工作室内錄音,或者現場小型演奏會的擴聲都很夠用了,自家得意的超寬立體聲也得以下放,聲音完全達到專業水平...
2025-11-22
Copyright 2023-2025 - www.tftnews.com All Rights Reserved