英文网站模板下载,有自己网站做淘宝客赚钱,无锡网站推广优化,申请建设门户网站的申请题目
质数#xff1a;只能被1和它本身所整除的数。即#xff1a;从2开始一直到这个数-1#xff0c;都不能被这个数整除#xff1b;最小的质数是2
知识点
1.System.currentTimeMillis():计算当前时间距离1970-1-1的毫秒数#xff0c;返回long 2.Math.sqrt#xff1a;开…题目
质数只能被1和它本身所整除的数。即从2开始一直到这个数-1都不能被这个数整除最小的质数是2
知识点
1.System.currentTimeMillis():计算当前时间距离1970-1-1的毫秒数返回long 2.Math.sqrt开方返回double
代码1
package lesson.l5_loop;//打印100以内所有质数
//质数只能被1和它本身所整除的数。即从2开始一直到这个数-1都不能被这个数整除
//最小的质数是2
public class PrimeNumber1 {public static void main(String[] args) {for (int i 2; i 100; i) {boolean isPrime true;for (int j 2; j i - 1; j) {if (i % j 0 ) {isPrime false;}}if (isPrime) {System.out.print(i \t);}}}
}
代码2
减少内层循环次数i/21
package lesson.l5_loop;public class PrimeNumber2 {public static void main(String[] args) {for (int i 2; i 100 ; i) {boolean isPrimetrue;for (int j2;ji/21;j){if (i%j0){isPrimefalse;}}if (isPrime){System.out.print(i\t);}}}
}
代码3
使用break优化当不是质数时立即跳出当前循环
package lesson.l5_loop;public class PrimeNumber3 {public static void main(String[] args) {long startSystem.currentTimeMillis();for (int i 2 ; i 100 ; i) {boolean isPrimetrue;for (int j2;ji/21;j){if (i%j0){isPrimefalse;break;}}if (isPrimei!1){System.out.print(i\t);}}long endSystem.currentTimeMillis();System.out.println(\n(end-start));//52}}
代码4
使用开方i Math.sqrt开方 因为除以ab,所以没必要去除以b
package lesson.l5_loop;public class PrimeNumber3 {public static void main(String[] args) {long startSystem.currentTimeMillis();for (int i 2 ; i 100 ; i) {boolean isPrimetrue;for (int j2;j(int)Math.sqrt(i);j){if (i%j0){isPrimefalse;break;}}if (isPrime){System.out.print(i\t);}}long endSystem.currentTimeMillis();System.out.println(\n(end-start));//52 48}}
代码5
使用带标签的continue
package lesson.l5_loop;public class PrimeNumber4 {public static void main(String[] args) {long start System.currentTimeMillis();label:for (int i 2; i 100; i) {for (int j 2; j (int) Math.sqrt(i); j) {if (i % j 0) {continue label;}}System.out.print(i \t);}long end System.currentTimeMillis();System.out.println(\n (end - start));}
}