高效的判断素数---筛选法
生活随笔
收集整理的這篇文章主要介紹了
高效的判断素数---筛选法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
篩選法是啥呢?
舉個例子:
2是質數那么2x2,2x3,2x4…都不是質數
3是質數那么3x2,3x3,3x4,3x5…都不是質數。
依次類推----
簡言之: 質數的倍數都不是質數
這就是篩選法。將不是質數的排除剩下的就是質數。
代碼
#include<stdio.h> #define N 200 int a[N]={0};//0代表是質數,初始化都為質數 int main(void) {int i=0;int j=2;int z=2;int count=0;for(i=2;i<=N;i++){if(a[i]==0)//是質數{z=2;j=0;while(j<=N){j=z*i;a[j]=1;//1代表不是質數z++;}}}for(i=2;i<=N;i++){if(a[i]==0){ printf("%d ",i);count++;if((count%10)==0)printf("\n");}} printf("\n總共有%d個素數\n",count);return 0; } 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的高效的判断素数---筛选法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware(虚拟机)的网络模式介绍
- 下一篇: 1.1 计算机的发展