C语言判断 101 到 200 之间的素数。为什么变量要i<=j?

这样如果i=1,因为有break的存在,整个for循环不就无法进行了吗?为什么运行结果还正常?


输出只有一个101,求解释!!


推荐于 · TA获得超过4511个赞

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

  • 如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

  • 其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。


· 醉心答题,欢迎关注

1、首先打开vc6.0, 新建一个vc项目,添加头文件,如下图所示。

2、然后添加main函数,如下图所示。

3、这时定义 i, j,count三个变量,如下图所示。

4、然后使用第一层for循环,使用第二层for循环。

5、如果j能被i整除,就跳出内层循环,判断循环是否提前跳出,如果 j < i 说明在 2~j之间,i有可整除的数。

6、最后使用printf打印出i,用count计数,每五个数换行。

7、最后运行程序,如下图所示就完成输出了。


· TA获得超过3万个赞

下载百度知道APP,抢鲜体验

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 c语言101到200之间素数 的文章

 

随机推荐