// 100 prime number // 篩選法 即:「埃拉托色尼篩選法」 // 找出一個非素數就把它挖掉,最後剩下就是素數 /* * 找出1~n的素數表 * 一、挖去1 * 二、用下一個未挖去的數p去除p後面各數,把p的倍數挖掉 * 三、檢查p是否小於n的整數部分(若是n=1000,則堅持p<31?), * 若是是,則返回(2)繼續執行,不然結束。 * 四、剩下的就是素數了 */ #include<iostream> #include<iomanip> using namespace std; #include<cmath> int main() { int i, j, n, a[101]; for (i = 1; i <= 100; i++) { a[i] = i; } a[1] = 0; for (i = 2; i < sqrt(100); i++) { for (j = i + 1; j <= 100; j++) { if (a[i] != 0 && a[j] != 0) { if (a[j] % a[i] == 0) { a[j] = 0; } } } } cout<<endl; for (i = 1, n = 0; i <= 100; i++) { if (a[i] != 0){ cout<<setw(5)<<a[i]<<" "; n++; } if (n == 10) { cout<<endl; n = 0; } } cout<<endl; return 0; }