1013 数素数
周末确实不该上班
写道题摸了。
计划是明天嗯造高数,后天嗯造王道书上的题,大后天写下栈和列表的代码,大后天放假。
1013 数素数
令 P**i 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 P**M 到 P**N 的所有素数。
输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从 P**M 到 P**N 的所有素数,每 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
题解
#include<stdio.h>
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int sum = 0;
int count = 0;
for (int i = 2; sum < n; i++)
{
int flag = 1;
for (int j = 2; j * j <= i; j++)
{
if (i % j != 0)
{
}
else
{
flag = 0;
break;
}
}
if (flag)
{
sum++;
if (sum >= m&&sum<n)
{
if (count < 9)
{
printf("%d ", i);
count++;
}
else
{
printf("%d\n", i);
count = 0;
}
}
else if (sum == n)
{
printf("%d", i);
}
}
}
}
总结:
没啥问题,复习一下素数的快速判断法则
注意一下打印非末尾数字时,若结束,不能打空格