首页 / JAVA / [java]埃拉托斯特尼筛法检定素数
[java]埃拉托斯特尼筛法检定素数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[java]埃拉托斯特尼筛法检定素数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含971字,纯文字阅读大概需要2分钟。
内容图文
埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
要得到自然数n以内的全部素数,必须把不大于
的所有素数的倍数剔除,剩下的就是素数。
给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。
java源码:
运行结果:
java源码:
package test1.number; public class Eratosthenes { public static void main(String[] args) { int max = 20; try { max = Integer.parseInt(args[0]); } catch (Exception e) { } boolean[] isprime = new boolean[max + 1]; for (int i = 0; i <= max; i++) isprime[i] = true; isprime[0] = isprime[1] = false; int n = (int) Math.ceil(Math.sqrt(max)); for (int i = 0; i <= n; i++) { if (isprime[i]) for (int j = 2 * i; j <= max; j = j + i) isprime[j] = false; } int largest; for (largest = max; !isprime[largest]; largest--); System.out.println("The largest prime less than or equal to " + max + " is " + largest); } }
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/hadoop_/article/details/49883611
内容总结
以上是互联网集市为您收集整理的[java]埃拉托斯特尼筛法检定素数全部内容,希望文章能够帮你解决[java]埃拉托斯特尼筛法检定素数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】