求100以内的所有素数.docx
《求100以内的所有素数.docx》由会员分享,可在线阅读,更多相关《求100以内的所有素数.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、求100以内的所有素数什么是素数?除0和1以外,只有1和它本身这两个因数的数是素数。如2, 3, 5,第一种方法:我们很容易找到110里面的素数:2, 3, 5, 7o凡不是这4个数的倍数 的数都为素数。public class PrimeDemo public static void main(String args) primeNumber();public static void primeNumber()int count =4;StringBuilder sb =new StringBuilder();sb. append(2+3+5+7+ );for(int i=10;i=100;
2、i+)if(i%2=0| | i%3=01 | i%5=0| | i%7=0) continue;else sb. append (i+/z ); count+;System. out. printin(count);System. out. printin (sb. toStringO);第二种方法:根据素数的定义:只有1和它本身这两个因数的数称为素数。可以理解为,一个 数(n),只要不能被2, (n-1)之间的数整除,那它就是一个素数。以sqrt为分界点的原因:首先,因数是成对出现的。比如24,你找到个约数3,那么一定有个约数8, 因为24/3=8。然后,这对约数必须一个在根号n之前,一个
3、在根号n之后。因 为都在根号n之前的话,乘积一定小于n (根号nX根号n=n)。同样,都在根号 n之后的话,乘积一定大于n。所以,如果你在根号n之前都找不 到因数的话, 那么根号n之后就不会有了。/primeNumber ();primeNumber2 ();根据素数的定义找素数public static void primeNumber() int count =0;int i;int j;for(i =2;i=100;i+)for (j =2;j=i)count+;System, out. print (i+/z );System, out. printin ();System, out.
4、 printin(count);=优化/* 外层循环代表被除数。由于1既不是质数也不是合数,所以从2开始* 内层循环代表除数。* */public static void primeNumber2()int count =0;StringBuilder sb =new StringBuilder();for(int i=2;i=100;i+) int j; int k =(int)Math. sqrt(i);for(j=2;jk)count+;sb. append (i+,/ );System, out. printin(count);System, out. printin (sb. toS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 100 以内 所有 素数
限制150内