java函数-生成素数表
来源:互联网 发布:linux中的uniq 编辑:程序博客网 时间:2024/06/07 05:47
在素数表生成的过程中,主要依赖以下几个特性:
- 偶数必不是素数,所以程序从5开始计数,依次累加2,直接跳过偶数
- 如果n不是素数, 则n有满足 1 < d <= sqrt(n) 的一个因子d。可以采用反证法,如果不存在一个因数d满足 1 < d <= sqrt(n), 则 d > sqrt(n),则d * d > n
- 剔除因子中的重复判断。例如 17 % 3 != 0,则 17%(3 * i)!= 0,所以判断一个整数n是否有除1和本身的因子时,只需要考虑是否有素数因子,如果没有,则n为素数,如果有则n不为素数
void generatePrimes(int[] primes) { int length = primes.length; switch (length) { case 2: primes[1] = 3; case 1: primes[0] = 2; case 0: return; } primes[0] = 2; primes[1] = 3; for (int idx = 2, prime = 5; idx < length; prime += 2) { int sqrt = (int)Math.sqrt(prime); boolean isPrimeFlag = true; for (int i = 1; primes[i] <= sqrt; i++) { if (prime % primes[i] == 0) { isPrimeFlag = false; break; } } if (isPrimeFlag) { primes[idx++] = prime; } } }
1 0
- java函数-生成素数表
- Java生成大素数
- 素数表生成
- 生成素数表
- 生成素数表
- 快速幂 生成素数表 生成Euler欧拉函数值表
- 分解质因数,生成素数表
- Eratosthenes 素数表生成方法
- hdu 1262 寻找素数对(数论:生成素数表+水题)
- Java CRC_16生成函数
- java生成函数签名
- java随机数生成函数
- poj3518生成素数表+二分查找
- Eratosthenes筛法生成素数表
- 函数素数
- 欧拉函数 最大素因数 素数判断 素数表
- 趣味素数-素数 java
- 素数生成公式
- EJB(三)细说message-driven bean
- JSP表单提交和表单校验
- AJAX 状态值(readyState)与状态码(status)详解
- 【剑指offer】删除链表中重复的结点
- 可变个数参数方法的使用
- java函数-生成素数表
- 史上最全的WebSettings说明
- 为什么需要开发web接口
- 04-树6 Complete Binary Search Tree
- python requests爬取网页乱码问题
- C++学习笔记(一)——内存、引用、const
- 程序设计基础(C)大作业——学籍管理系统(3)(完)
- vs2010打包程序最简教程
- Find a way(bfs)HDU