38 素数表
作者: 江宝钏时间限制: 1S章节: 函数
问题描述 :
从键盘输入m,n
在屏幕上按每行10个的格式输出m~n之间的全部素数。
请用函数判断一个数是否素数。
输入说明 :
两个整数m n
输出说明 :
[m,n]之间(包含m和n)的素数,每行10个,每个数后跟一个空格。
输入范例 :
2 33
输出范例 :
2 3 5 7 11 13 17 19 23 29
31
代码:
#include <stdio.h>
int main()
{
int hash[10000] = { 0 };
int m, n;
scanf("%d%d", &n, &m);
if (n > m)
{
int temp = n;
n = m; m = temp;
}
hash[0]=hash[1]=1;
for (int i = 2; i < 10000; i++)
{
if (hash[i] == 0)
{
for (int j = i + i; j < 10000; j = j + i)
{
hash[j] = 1;
}
}
}
int num = 0;
for (int i = n; i <= m; i++)
{
if (hash[i] == 0)
{
num++;
printf("%d ", i);
if (num == 10)
{
printf("
");
num = 0;
}
}
}
printf("
");
return 0;
}