PAT求素數
令Pi表示第i個素數。現任給兩個正整數M <= N <= 10000,請輸出PM到PN的所有素數。
#include<iostream>
#include<stdio.h>
using namespace std;
int main() {
int M, N, i=0,j=0,p=0;
int a[104743] = { 0 }, b[10002] = { 0 };
cin >> M >> N;
while (i == 0 || i == 1) {
a[i] = 0;
i++;
}
for (i = 2; i <= 104743; i++) {
if (a[i] == 1) {
continue;
}
for (j = i*i; j <= 104743; j = j + i) {
a[j] = 1;
}
}
for (i = 0; i <= 104743; i++) {
if (a[i] == 0) {
b[p] = i;
p++;
}
else
continue;
}
int m=0;
for (p = M+1; p <= N+1; p++) {
cout << b[p];
m++;
if (m % 10 != 0 && p!=N+1)
cout << " ";
if (m % 10 == 0)
cout << ";"<< "\n";
}
}