求n以内的素数(1-1)
时间: 0ms 内存:128M
描述:
输入一个整数n,求n以内的素数,每十个一行,采取尽可能优的算法。
输入:
n
输出:
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
提示:
参考答案(内存最优[0]):
#include <stdio.h>
int primes(int n,int m); /*求n,m之间素数个数*/
int is_prime(int n); /*判断是否为素数*/
int main()
{
int n;
scanf("%d",&n);
int count=0;
for(int i=2; i<=n; i++)
{
if(is_prime(i)==1)
{
printf("%5d",i);
count++;
if(count==10)
{
count=0;
printf("\n");
}
}
}
return 0;
}
int is_prime(int n)
{
for(int i=2; i*i<=n; i++)
if(n%i==0)
return 0;
return 1;
}
参考答案(时间最优[0]):
#include <stdio.h>
int panduan(int n)
{
int i;
for( 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。