1501051659-hpu-1031 【C语言训练】求素数问题.cpp

1031: 【C语言训练】求素数问题

时间限制: 1 Sec   内存限制: 128 MB
提交: 6   解决: 5
[ 提交][ 状态][ 讨论版]

题目描述

求出1-N中的所有素数

输入

大于1的正整数N

输出

1-N中的所有素数,(以从小到大的格式输出)

样例输入

9

样例输出

2 3 5 7 
解题思路
   用打表的方法求素数,输出格式是每一个素数后面都跟一个空格
代码
#include<stdio.h>
#include<string.h>
int num[1000000];
int main()
{
	int n;
	int i,j,k;
	while(scanf("%d",&n)!=EOF)
	{
		memset(num,0,sizeof(num));
		num[0]=num[1]=1;
		for(i=0;i<=n;i++)
		{
			if(num[i])
			    continue;
			for(j=i+i;j<=n;j+=i)
			    num[j]=1;
		}
		for(i=0;i<=n;i++)
		    if(num[i]==0)
		        printf("%d ",i);
		printf("\n");
	}
	return 0;
}

你可能感兴趣的:(1501051659-hpu-1031 【C语言训练】求素数问题.cpp)