输出101-200之间的所有质数(只能被1和自身整除)
package com.company;
import java.util.Scanner;
/**判断101-200之间有多少个素数,并输出所有素数。
*程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),
如果能被整除,则表明此数不是素数,反之是素数。*/
public class Main {
public static void main(String[] args) {
int sum=0;
for(int i=101;i<=200;i++) {
for (int j=2;j<=i-1;j++){
if (i%j==0){
break;
} else if (j==i-1){
System.out.println(i);
sum++;
}
}
}
System.out.println("101-200之间共有"+sum+"个质数");
}
}
计算输出101-200000的质数改进后的代码用时560ms,前面的代码用时7777ms,注意代码的简洁性*****
public class Main {
public static void main(String[] args) {
long start = System.currentTimeMillis();//记录开始前的时间
back1:
for (int i = 101; i <= 200000 ; i++) {
for (int j = 2; i <= Math.sqrt(i); j++) {//只需计算根号i及之前的值即可
if (i % j == 0) {
continue back1;
}
}
System.out.println(i);
}
long end = System.currentTimeMillis();//记录结束的时间
System.out.println(end - start);//计算整个程序运行的时间
}
}