2391: 求素数
时间限制: 1 Sec 内存限制: 128 MB提交: 116 解决: 3
题目描述
设计一个程序,输出所有小于等于n(n为一个大于2的正整数)的素数。
要求:(1)每行输出10个素数。
(2)尽量采用较优的算法。
输入
50
输出
2 3 5 7 11 13 17 19 23
29 31 37 41 43 47
样例输入
50
样例输出
2 3 5 7 11 13 17 19 23
29 31 37 41 43 47
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <stdio.h>
int panduan(int n)
{
if(n<2)return 0;
for(int i=2; i*i<=n; i++)
if(n%i==0)return 0;
return 1;
}
int main()
{
int n,s,i;
while(~scanf("%d",&n))
{
s=0;
for(i=2; i<=n; i++)
{
if(panduan(i))
{
s++;
printf(" %2d",i);
if(s%10==0)printf("\n");
}
}
printf("\n");
}
return 0;
}