1013. 数素数 (20)
时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B
判题程序 Standard 作者 CHEN, Yue
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
bool prime(int num)
{
if (num == 0 || num == 1)
return false;
if (num == 2)
return true;
for (int i = 2,Sqrt = sqrt(num); i <= Sqrt; ++i)
{
if (num % i == 0)
return false;
}
return true;
}
int main()
{
#ifdef _DEBUG
//freopen("data.txt", "r+", stdin);
fstream cin("data.txt");
#endif // _DEBUG
const int MaxN = 1e4;
int M, N, Num = 0,Prime[MaxN];
cin >> M >> N;
for (int i = 2; Num < MaxN; ++i)
{
if (prime(i))
Prime[Num++] = i;
}
for (int i = M, Num = 1; i <= N; ++i, ++Num)
{
printf("%d", Prime[i - 1]);
if (Num % 10)
{
if(i!=N)
printf(" ");
}
else
printf("\n");
}
#ifdef _DEBUG
cin.close();
#ifndef _CODEBLOCKS
system("pause");
#endif // !_CODEBLOCKS
#endif // _DEBUG
return 0;
}