求100之内的素数
//使用除sqrt(n)的方法求出的素数不包括2和3
public class lianxi27 {
public static void main(String[] args) {
boolean b =false;
System.out.print(2 + " ");
System.out.print(3 + " ");
for(int i=3; i<100; i+=2) {
for(int j=2; j<=Math.sqrt(i); j++) {
if(i % j == 0) {b = false;
break;
} else{b = true;}
}
if(b == true) {System.out.print(i + " ");}
}
}
}
//该程序使用除1位素数得2位方法,运行效率高通用性差。
public class lianxi27a {
public static void main(String[] args) {
int[] a = new int[]{2, 3, 5, 7};
for(int j=0; j<4; j++)System.out.print(a[j] + " ");
boolean b =false;
for(int i=11; i<100; i+=2) {
for(int j=0; j<4; j++) {
if(i % a[j] == 0) {b = false;
break;
} else{b = true;}
}
if(b == true) {System.out.print(i + " ");}
}
}
}
这篇博客探讨了两种不同的方法来寻找100以内的素数。第一种方法使用了除以平方根的优化,跳过了偶数并只检查到数的平方根。第二种方法利用已知的1位素数(2, 3, 5, 7)作为除数,提高了效率但通用性较差。这两种方法都展示了在编程中优化算法的重要性。
2100

被折叠的 条评论
为什么被折叠?



