1. 程式人生 > >篩選法查詢1000以內的素數c++程式碼例項及執行結果

篩選法查詢1000以內的素數c++程式碼例項及執行結果

c++程式碼

#include <iostream>
#include<iomanip>
#define N 1000
using namespace std;

int main()
{
    int array[N];//陣列array標記是否為素數
    int n=0;
    for(int i=0;i<N;i++)//所有元素初始化為1
        array[i]=1;
    for(int j=2;j<N;j++)
    {
        if(array[j]!=0)
            for(int k=j+j;k<N;)
            {
                if(k%j==0)
                    array[k]=0;
                k=k+j;
            }
    }
    cout<<N<<"以內的素數為:"<<endl;
    for(int i=2;i<N;i++)
        if(array[i]!=0)
        {
            n++;
            cout<<setw(4)<<i;
            if(n%10==0)
                cout<<endl;
        }
    return 0;
}

執行結果


相關推薦

篩選查詢1000以內素數c++程式碼例項執行結果

c++程式碼 #include <iostream> #include<iomanip> #define N 1000 using namespace std; int main() { int array[N];//陣列array標記是否

Opencv檢測交通中紅色標識輪廓c++程式碼例項執行結果

環境vs2013+opencv2.4.9 c++程式碼 #include<opencv2/opencv.hpp> #include<iostream> #define PI 3.1415926 using namespace std; using

opencv讀取彩色/灰度圖片畫素值並存儲在本地檔案中c++程式碼例項執行結果

c++程式碼彩色圖片#include<opencv2/opencv.hpp> #include<fstream> using namespace std; using namespace cv; int main(int argc, char* ar

交通標識牌檢測識別c++程式碼例項執行結果 (可自行在網上下載圖片測試)

執行環境:vs2013+opencv2.4.9+win10 資料來源於GTSRB 效果不是很理想(預處理方法、檢測用的rgb2hsv、圓度檢測,、引數,總之改變程式中很多東西可以嘗試提高準確率),但檢測及識別的道路是打通了 c++程式碼 #include<iostr

刪除特定位置前面的字串c++程式碼例項執行結果

原始字串樣式 c++程式碼 #include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int

篩選查詢100以內素數

解析: 篩選法:是指從小到大篩去一個已知素數的所有倍數。例如:根據2,我們篩選去4,6,8,....,98,100等數,然後根據3,我們可以篩選9,15,...99等數(注意此時6、12等數早就被篩去了),由於4被篩去了,下一個用於篩選的素數是5,以此類推,最後剩餘的就是100以內的素數。

八皇后問題c++程式碼遞歸回溯例項執行結果

八皇后問題,是一個古老而著名的問題,是回溯演算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾於1848年提出:在8×8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法 具體分析可見程式設計師面試寶典 c+

C語言】 利用篩選求100以內素數

演算法思路: 原理很簡單,就是當i是質(素)數的時候,i的所有的倍數必然是合數。如果i已經被判斷不是質數了,那麼再找到i後面的質數來把這個質數的倍數篩掉。 程式碼如下: //C語言 篩選法求100以內的素數 //原理很簡單,就是當i是質(素)數的時候,i的所有的倍數必然是合數。如果i已經

Eratosthenes“埃氏篩”求1000以內素數C++

“埃氏篩法”是一種高效的求N以內素數的演算法,時間複雜度為O(nloglogn),求1000以內素數的“埃氏篩法”程式碼實現如下: #include<cstdio> #include&l

python用遞迴篩選求N以內的孿生質數(孿生素數)--附氣泡排序和插入排序練習

本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List,然後從第0位開始,如果後面的能被這個數整除,則從陣

java用遞迴篩選求N以內的孿生質數(孿生素數)--附氣泡排序和插入排序練習

本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List<Integer>,然後從第0位開始,如

java用遞迴篩選求N以內的孿生質數(孿生素數

本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List<Integer>

篩選求100以內素數問題

#include<stdio.h> #include<math.h> int main() { int i,j,n,a[101]; for(i=1;i<=100;i++)/*a[0]不用,只用a[1]到a[100]*/

篩選求100以內素數

思路:1:先對1到100進行賦值,為了方便起見,我們可以讓a[1]=1;a[2]=2;...;a[100]=100;即a[i]=i。為此我們需要開闢101個空間(因為a[0]不使用),用迴圈對a[1]~a[100]進行賦值。2:判斷一個數是否是素數,只用判斷它除了1和它本身以

groovy使用stream語法遞迴篩選求N以內的質數(素數)--附氣泡排序和插入排序練習

本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,

python用遞迴篩選求N以內的孿生質數(孿生素數

本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,

資料結構與演算法 二分查詢【Python與C】的實現

程式碼如下: Python: def ErFen(List ,Number ,Len): left = 0 high = Len - 1 while left <= high: mid = (left + high)//2

素數篩選,快速獲取素數序列

今天,學習了素數求取的方法,感覺很棒,拿來分享一下。首先,對比一下兩種方法:普通求取素數的方法和基於篩選法的素數求取方法。 -普通方法求取素數 普通方法求取素數是根據素數的定義來判斷一個數N是否為素數(只有1和它本身能夠整除自己)。因此,該方法一般方式是測試

Python 求1000以內素數

先構造從3開始的奇數數列def _odd_iter(): n=1 while True: n=n+2 yield n判斷函式def _not_divisible(n): return lambda x: x

Python程式-輸出1000以內素數

問題簡述:輸出1000以內素數,同時輸出素數的序數。 程式說明:編寫一個函式is_prime(n),用於判斷n是否為素數,使用該函式對1-1000的整數進行素性判定並且輸出結果。這個程式計算時間上不是最好的,但是邏輯簡單。函式is_prime(n)採用試除法判定一個數是否為