求素数 prime

来源:互联网 发布:mac双系统option无效 编辑:程序博客网 时间:2024/05/16 19:12

这里我们将介绍几个求素数的算法,和大家一起交流一下

// ① 进行穷举 时间复杂度O(n)private static boolean primer1(int number) {for(int i = 2 ; i < number -1 ; i++ ){if(number%i == 0){return false ;}}return true;}

// ② 使用 √n 进行计算 时间复杂度O(√n)private static boolean primer2(int number) {// 这里我们使用 i*i 而不使用 Math.sqrt(number) 因为求根是一个非常耗时的操作for (int i = 2; i*i<number; i++) { if(number%i == 0){return false ;}}return true;}

// ③ 使用爱拉托逊斯算法 充分利用了一素数的定义 如果一个数 m 是 另一个数 n 的倍数则这个数肯定不是素数                                             
0 0