1013 数素数

周末确实不该上班

写道题摸了。

计划是明天嗯造高数,后天嗯造王道书上的题,大后天写下栈和列表的代码,大后天放假。

1013 数素数

P**i 表示第 i 个素数。现任给两个正整数 MN≤104,请输出 P**MP**N 的所有素数。

输入格式:

输入在一行中给出 MN,其间以空格分隔。

输出格式:

输出从 P**MP**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);
			}
		}
	}
}

总结:

没啥问题,复习一下素数的快速判断法则

注意一下打印非末尾数字时,若结束,不能打空格

posted @ 2022-03-26 20:14  huigugu  阅读(22)  评论(0编辑  收藏  举报