求3-1000之间的素数

时间:2024-03-06 19:16:05

 

#include <stdio.h>
#include 
<conio.h>
#include 
<math.h>
void main()
{
 clrscr();
 unsigned i,j,flag,count;
     
/**//*用flag作标志*/
 count
=0;
     
/**//*计数器清0*/
 
for(i=3;i<=1000;i++)
 
{
  flag
=0;
  
for(j=2;j<=sqrt(i);j++)
  
{
   
if (i%j==0
     
/**//*能整除,不是素数,标志设为1*/
   
{flag=1;break;}
  }

     
/**//*内循环结束*/
  
if (flag==0)
     
/**//*若flag为0,i是素数*/
  
{
   printf(
"%4d,",i);count++;
   
if (count%8==0) printf("\n");
     
/**//*每行输出8个素数*/
  }

 }
   /**//*外循环*/
}

第二种方法
#include<stdio.h>
#include
<conio.h>
#include
<math.h>
void main()
{
    
int i,n;
    
for(i=2;i<=50;i++)
    
{
        
for(n=2;n<=(int)sqrt(i);n++)
            
if(i%n==0)
                
break;
        
if(n==(int)sqrt(i)+1)
            printf(
"%d ",i);
    }

    printf(
".");
    getch();

}