题目:
令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。
来源《算法笔记》
代码如下
#include <stdio.h>
const int maxn = 1000001;
int prime[maxn], num = 0;
bool p[maxn] = {0};
void Find_Prime(int n)
{
for (int i = 2; i < maxn; i++)
{
if (p[i] == false)
{
prime[num++] = i;
if (num >= n)//因为只要N个素数 后面的就不需要了。
break;
for (int j = i + i; j < maxn; j += i)
{
p[j] = true;
}
}
}
}
int main()
{
int m, n, count = 0;
scanf("%d%d", &m, &n);
Find_Prime(n);
for (int i = m; i <= n; i++)
{
printf("%d", prime[i - 1]);
count++;
if (count % 10 != 0 && i < n)
printf(" ");
else
{
printf("\n");
}
}
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。