C/C++经典程序训练7---求某个范围内的所有素数
时间: 1ms 内存:64M
描述:
求小于n的所有素数,按照每行10个显示出来。
输入:
输入整数n(n<10000)。
输出:
每行10个依次输出n以内的所有素数。
示例输入:
100
示例输出:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
提示:
参考答案(内存最优[748]):
#include<stdio.h>
#define MAXNUM 1000
int main()
{
int output[MAXNUM],num=0,n,i,j,k;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i-1;j++)
{
if(i%j==0)
break;
}
if(j==i)
{
output[num++]=i;
}
}
for(i=0,k=0;i<num;i++)
{
{
if(k==0)
printf("%d",output[i]);
if(k>=1)
printf(" %d",output[i]);
k++;
}
if(k==10)
{
printf("\n");
k=0;
}
}
printf("\n");
return 0;
}
参考答案(时间最优[0]):
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c,e=0,n;
scanf("%d",&n);
for(a=2; a<=n; a+=1)
{
c=sqrt(a);
for(b=2; b<=c; b++)
{
if(a%b==0)
break;
}
if(b==c+1)
{
if(e%10==0)
printf("%d",a);
else
printf(" %d",a);
e++;
if(e%10==0)
printf("\n");
}
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。