求素數
阿新 • • 發佈:2018-04-28
一行 整數 int mes sin 出現 class AI tip
題目描述
(再次申明:本上機題全部由程序自動評判對錯,所以沒有要求的輸出請一定不要出現,具體參照樣例輸入和輸出即可)
輸入兩個正整數a、b,找出[a, b]之間的素數,由小到大輸出。(2 <= a <= b <=1000000)
輸入描述
每一行輸入兩個正整數,兩數之間有一個空格,可能有多行輸入!
tips:利用while(cin>>a>>b)語句實現循環輸入變量
輸出描述
輸出[a,b]之間的素數,素數之間用一個空格隔開,每個輸出占一行
樣例輸入
2 5 3 11
樣例輸出
2 3 5 3 5 7 11
#include <iostream> usingnamespace std; int main() { bool q[1000001]; for (int i = 0; i < 1000001;i++) q[i] = true; for (int d = 2;d * d <= 1000000; d++) { if(q[d]) { for(int s = d * d;s <= 1000000; s+=d) q[s] = false; } } int a, b; while (cin >> a >> b) {int g = 0; for (int i = a; i <= b; i++) { if (q[i]) { if (!g) { cout << i; g = 1; } else cout << ‘ ‘ << i; } } cout << endl; }return 0; }
求素數