C语言实验——素数

C语言实验——素数

时间: 1ms        内存:64M

描述:

输出100->200之间的素数的个数,以及所有的素数。

输入:

输出:

100->200之间的素数的个数,以及所有的素数。

示例输入:

示例输出:

21
101 103 ... 197 199

提示:

参考答案(内存最优[744]):

#include <stdio.h>
int main()
{ int i,n,j=1;
  int prime;
for(n=100;n<199;n++)
{prime=1;
  for(i=2;i<=n-1;i++)
    if(n%i==0)
  {prime=0;
  break;}
   if(prime==1)
   j=j+1;
}
   printf("%d\n",j);
for(n=100;n<199;n++)
{prime=1;
  for(i=2;i<=n-1;i++)
    if(n%i==0)
  {prime=0;
  break;}
   if(prime==1)
   {
   printf("%d",n);
    putchar(' ');
	}
  
}
 printf("%s","199");

return 0;
}

参考答案(时间最优[0]):

#include"stdio.h"
#include"math.h"
int main()
{
  int m,i,k,n=0,a;
  for(m=101;m<=200;m=m+2)
 {
	  k=sqrt(m);
	  for(i=2;i<=k;i++)
		  if(m%i==0)
			  break;
		  if(i>=k+1)
				 n++;
  }
  printf("%d\n",n);
 for(m=101;m<=200;m=m+2)
 {
	  k=sqrt(m);
	  for(i=2;i<=k;i++)
		  if(m%i==0)
			  break;
		  if(i>=k+1)
		  printf("%d ",m);
  }
  return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注