C语言之素数的判断

//输出1到2000内的全部素数
#include <stdio.h>
#include <math.h>
#define i 2000
void main()
{ 
       int m,k;
	   int count=0;
	   int flag;
	   for(m=2;m<i;m++)
	   {
		   for(k=2;k<=sqrt(m)+1;k++)  //先判断不是素数  反之就是素数
		   {
			   if(m%k==0)
				   flag=0;
			   else flag=1;
			   if(flag)
			   { printf(" %d ",m);
			    count++;
			   }
			  if((count)%7==0)
			  printf("\n");
			   break;
		   }
	   }




  

  注明:设置一个标志 一旦能被除1和自己本身的数除尽 那么就不是素数,反向思维

posted @ 2013-10-26 23:17  云,不忘初心  阅读(428)  评论(0编辑  收藏  举报