百色建设厅网站,建一个国外网站多少钱,外贸网站推广多少费用,做家政网站用筛选法求解n以内的所有素数#xff1a;筛选法的思想是一个数是素数则这个数的所有的倍数都是合数#xff0c;我们不去找素数而去找合数#xff0c;剩下的就是素数了。一个合数其最大的质因子不会超过其开发数,所以只要迭代到其最大数的开方数即可 一个简单的筛素数的过程筛选法的思想是一个数是素数则这个数的所有的倍数都是合数我们不去找素数而去找合数剩下的就是素数了。一个合数其最大的质因子不会超过其开发数,所以只要迭代到其最大数的开方数即可 一个简单的筛素数的过程n30。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30第 1 步过后2 4 ... 28 30这15个单元被标成false,其余为true。第 2 步开始i3; 由于prime[3]true, 把prime[6], [9], [12], [15], [18], [21], [24], [27], [30]标为false.i4; 由于prime[4]false,不在继续筛法步骤。i5; 由于prime[5]true, 把prime[10],[15],[20],[25],[30]标为false.i6sqrt(30)算法结束。第 3 步把prime[]值为true的下标输出来控制台输出用筛选法求解30以内的所有素数2 3 5 7 11 13 17 19 23 29Process finished with exit code 0代码如下package AlgorithmTest;/*** Created by dell on 2016/12/18.*///一个简单的筛素数的过程n30。// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30//// 第 1 步过后2 4 ... 28 30这15个单元被标成false,其余为true。// 第 2 步开始// i3; 由于prime[3]true, 把prime[6], [9], [12], [15], [18], [21], [24], [27], [30]标为false.// i4; 由于prime[4]false,不在继续筛法步骤。// i5; 由于prime[5]true, 把prime[10],[15],[20],[25],[30]标为false.// i6sqrt(30)算法结束。// 第 3 步把prime[]值为true的下标输出来public class Sushu {public static void main(String[] args) {System.out.println(用筛选法求解30以内的所有素数);printSushu(30);}public static void printSushu(int n){if ( n 1){System.out.println(输入错误);}boolean[] isPrimes new boolean[n 1];for (int i 0 ; i isPrimes.length; i){isPrimes[i] true;}for (int j 4; j n; j 2){isPrimes[j] false;}for (int j 3; j Math.sqrt(n); j){if (isPrimes[j]){//如果是素数则其所有的倍数都是合数for (int i j j ; i n; i i j){isPrimes[i] false;}}}for (int i 2; i isPrimes.length; i){if (isPrimes[i]){System.out.print(i );}}}}