c语言素数探求实现统计1-200中素数的个数

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
判断101-200之间有多少个素数,并输出所有素数C语言课程设计报告
下载积分:1000
内容提示:判断101-200之间有多少个素数,并输出所有素数C语言课程设计报告
文档格式:DOC|
浏览次数:74|
上传日期: 16:08:26|
文档星级:
该用户还上传了这些文档
判断101-200之间有多少个素数,并输出所有素数C语言课程
官方公共微信c语言(16)
1、素数(质数)的定义:只能被1和它自身整除的树
2、怎样判断一个素是不是素数:用这个数去除2到sqrt(这个数),如果能被整除则不是素数,不能被整除则为素数。
3、代码实现
#include&stdio.h& //判断101-200之间有多少个素数,输出这些素数及素数的个数
int main()
int i, j, m, h = 0;
for (m = 101; m &= 200; m++)
int leap = 1;
for (i = 2; i*i &= i++)
if (m%i == 0)
printf(&%-4d&, m);
if (h % 10 == 0)
printf(&\n&);
printf(&\n the total is %d\n &, h);
}4、运行截图
5、过程中出现的问题
a、开始把leap=1放在了第一个for循环的外面,运行结果永远只有一个数101,后来同学才跟我讲应该放在第一个for循环的里面,因为每一次循环都需要将leap重新置1,放在外面达不到这个效果。后来在网上看到了将其放在另外一种解决方法,在下一次循环前加上leap=1;
b、i*i&=m;开始的时候参照网上的做法是j=sqrt(m+1),后来同学说开放存在误差,而这种方法不会,具体我也不知道是怎么回事。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1685次
排名:千里之外
原创:23篇C语言 求1-200中所有素数的和
卡大傻讐zm2U
#include int main(){int sum=0,i,n,f;for(n=1;n
为您推荐:
其他类似问题
扫描下载二维码统计1到100素数的个数
xaGW92BN94
100以内的质数共有25个,这些质数我们经常用到,可以用下面的两种办法记住它们.? 一、规律记忆法 ? 首先记住2和3,而2和3两个质数的乘积为6.100以内的质数,一般都在6的倍数前、后的位置上.如5、7、11、13、19、23、29、31、37、41、43……只有25、35、49、55、65、77、85、91、95这几个6的倍数前后位置上的数不是质数,而这几个数都是5或7的倍数.由此可知:100以内6的倍数前、后位置上的两个数,只要不是5或7的倍数,就一定是质数.根据这个特点可以记住100以内的质数.? 二、分类记忆法 ? 我们可以把100以内的质数分为五类记忆.?第一类:20以内的质数,共8个:2、3、5、7、11、13、17、19.?第二类:个位数字是3或9,十位数字相差3的质数,共6个:23、29、53、59、83、89.?第三类:个位数字是1或7,十位数字相差3的质数,共4个:31、37、61、67.?第四类:个位数字是1、3或7,十位数字相差3的质数,共5个:41、43、47、71、73.?第五类:还有2个持数是79和97.? 一种简便的试商方法 ? 试商是计算除数是三位数除法的关键,当除数接近整百数时,可以用“四舍五入法”来试商,然而当除数十位上是4、5、6不接近整百数时,试商就比较困难,有时需要多次调商.为了帮助同学们解决这个困难,下面介绍一种简便的试商方法.? 当除数十位上是4时,舍去尾数看做整百数.用整百数做除数得出的商减1后去试商.? 命名如,除数十位上是4,把243看做200,商9,用8(9-1)去试商正合适.? 当除数十位上是5、6时,舍去尾数向百位进1,把除数看做整百数,用整百数做除数得出的商加1后去试商.? 例如:除数十位上是5,把254看做300,商5,用6(5+1)去试商正合适.? 运用上面这种试商方法,有的可以直接得出准确商,有的只需调商一次就行了.同学们不试在计算除法时试一试.2.3.5.7.11.13.17.19.23.29.31.37.41.43.47.53.59.61.67.71.73.79.83.89.97 共25个
为您推荐:
其他类似问题
扫描下载二维码&&/&&&&/&&
① 要判断一个数是不是素数,首先要知道什么是素数。回忆一下数学里的知识,什么是素数?只能被自身和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)&
&&&&&&&& 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以内的所有素数。&
推荐文章 TOP10}

我要回帖

更多关于 c语言素数探求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信