埃氏篩法列印質素表碰到陣列越界問題

2021-07-26 20:49:29 字數 502 閱讀 7509

卡了我2個小時,no,好像是3個小時/cry,實在想不出來原因,問了群裡的大佬才明白
是怎麼回事了,陣列越界!!!陣列越界!!!陣列越界!!!
#include #include #define m 1000 //測試m等於10且n等於10,m等於100且n等於100prime[0]都是2 

#define n 1000//可當m等於1000,n等於1000的時候,prime[0]怎麼輸出是1呀?????

using namespace std;

int pri[m]; //注意pri陣列共有m個元素,沒有pri[m]這個元素

int prime[n]; //儲存的素數表

void f() //埃氏篩法

} }}int main()

{ f();

for(int i=0;i<=10;i++)

cout<

埃氏篩法 素數篩

埃式篩法 給定乙個正整數n n 10 6 問n以內有多少個素數?做法 做法其實很簡單,首先將2到n範圍內的整數寫下來,其中2是最小的素數。將表中所有的2的倍數劃去,表中剩下的最小的數字就是3,他不能被更小的數整除,所以3是素數。再將表中所有的3的倍數劃去 以此類推,如果表中剩餘的最小的數是m,那麼m...

素數 埃氏篩法

題目 求2 100以內的素數。素數 prime number 又稱質數,是指乙個大於1的自然數,除了1和它本身外,不能被整除以其他自然數。解法一 根據素數的定義,即用該數除比其小的數 1除外 都不能除盡,即為素數 public class prime if i n system.out.print ...

埃氏篩法 python

def main for n in primes if n 1000 print n else break 可以先構造乙個從3開始的奇數序列 def odd iter n 1 while true n n 2 yield n 帶有 yield 的函式在 python 中被稱之為 generator ...