您当前的位置:首页 > 计算机 > 编程开发 > C语言

求100~200之间的全部素数

时间:01-03来源:作者:点击数:

分析: 

① 要判断一个数是不是素数,首先要知道什么是素数。回忆一下数学里的知识,什么是素数?只能被自身和1整除的正整数是素数。1既不是素数,也不是合数;2是最小的素数,也是唯一一个是偶数的素数。 

② 判断一个正整数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" 
        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 

请思考:请编程求2000以内的所有素数。 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门