判断是否为素数的另一种解法
来源:互联网 发布:linux sslocal 编辑:程序博客网 时间:2024/05/29 06:54
package test;import java.util.Arrays;public class Prime{public static boolean[] primeNumber(int num){if(num < 0){System.out.println("范围必须大于零");return null;}boolean [] prime = new boolean[num + 1];prime[1] = false;Arrays.fill(prime, 2,num + 1,true);int n = (int)Math.sqrt(num);for(int i = 1; i < n;i++){if(prime[i]){for(int j = 2 * i;j <= num;j += i ){prime[j] = false;}}}return prime;}public static void showPrime(int num){boolean [] prime = primeNumber(num);int n = 0;if(prime != null){for(int i = 1; i < prime.length;i++){if(prime[i]){System.out.print(i + "\t");if(++n % 10 == 0){System.out.println();}}}}}public static void main(String[] args){int num = 1000000;long start = System.currentTimeMillis();showPrime(num);long end = System.currentTimeMillis();System.out.println("\n"+(end-start));}}
素数:如果一个正整数的因数除了1和它本身,那么该数为素数!
平常解法:用该数n整除2-sqst(n)之间的数,如果不能整除,该数就为素数!
新解法:首先排除1,因为2是素数,把它留下来,然后把后面2的倍数排除,2后面第一个没排除的数3,然后把后面三的倍数排除,3后面第一个没被排除的数是5,把后面5的倍数排除...一直这样下去,就会不超过N的合数排除,只留下素数!
阅读全文
1 0
- 判断是否为素数的另一种解法
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断是否为素数
- 判断输入年份是否为闰年的另一种方法
- 79.判断是否为素数
- 判断数字是否为素数
- 判断一个数是否为素数的函数
- python写的判断数字是否为素数
- 前端开发中的JS调试技巧
- android_x86 添加预安装APP
- 板子上实现ftpd
- Sublime Text 2 (for OS X )配置成可以运行基于python3解释器的 .py文件
- 频道管理的简单使用
- 判断是否为素数的另一种解法
- 数据结构
- mybatis拦截器的注解说明
- SQL Server数据类型与C#类型对应关系
- Python学习笔记(二)——编程0基础数据分析进阶之路
- 分享两种最简单的Android打渠道包的方法
- 自动行为操控(Steering)(一)—框架
- Maven 检出项目或删除repository后 pom报错解决方案
- SDWebImage 加载显示 GIF 与性能问题