输出1000以内的素数

如题所述

关于输出1000以内的素数,如下:

1、运用C语言输出1000以内的素数

素数是只能被1和自身整除的数,规定1不是素数,所以使用嵌套循环的方式,外层循环让i从2到1000自增,给isprime赋值为1,内层循环让k(除数)进行从2到i的自增,若余数为零则给isprime赋值为0,并用break终止内循环,若isprime的值为1则进行输出。

2、关于素数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。

具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn。如果n+1为素数则n+1要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

如果N+1为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。

因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

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

温馨提示:答案为网友推荐,仅供参考
相似回答