天天看点

【C语言】求100~200之间的素数

分析: 

   判断一个正整数m是否为素数有多种方法。 

        方法1:让m依次被2,3,…,m-1除,如果m不能被2~m-1中的任何一个整数整除,则m是素数。 

        方法2:让m依次被2,3,…,m/2除,如果m不能被2~m/2中的任何一个整数整除,则m是素数。 

        方法3:让m依次被2,3,…,sqrt(m)除,如果m不能被2~sqrt(m)中的任意一个整数整除,则m为素数。sqrt(m)为m的平方根。 

        其中最后一种方法判断速度最快,因此这里采用最后一种方法。 

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

 运行结果为: 

        101 103 107 109 113 127 131 137 139 149 

        151 157 163 167 173 179 181 191 193 197 

        199