224
汽車大全
一百萬以內的素數
#include <iostream> #include <vector> using namespace std; #define MAX 1000000 long s[MAX+1]; void init()//構造一個100萬以內的素數表 { int i, j; for (i = 2; i <= MAX; i++) { s[i] = 1; } s[0] = s[1] = 0; //0和1肯定不是素數 for (i = 2; i <= MAX; i++) { if (s[i] == 1) { for (j = 2 * i; j <= MAX; j += i) s[j] = 0; } } } int main() { init();//構造一個100萬以內的素數表 long a, b; int tmp = 0; int i, j; vector<int> vec; while (cin >> a >> b) { for (i = a; i <= b; i++) { if (s[i] == 1) tmp++; } vec.push_back(tmp); tmp = 0; } i = 1; for (vector<int>::iterator it = vec.begin(); it != vec.end(); it++) { cout << "Case " << i++ << ":" << endl; cout << *it << endl; } //system("pause"); return 0; }
最後更新:2017-04-02 15:15:28