求素数,正在找下面更好的算法。
//ForT.java
public class ForT {
public static void main(String[] args){
int j;
System.out.print("2 "); //偶数中只有2是素数
for(int i=3;i<=100;i+=2){ //i 只从奇数中找提高速度
int k=(int)Math.sqrt(i)+1;
//k 取 i 平方根的整数加 1(一个数最大的能整除的数是它的平方根,于是我们又加快了速度)
for( j=2;j<=k;j++)
if(i%j==0)break;
if(j>=k)System.out.print(i+" ");
}
}
}
/*2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 */
If...Else...与三元运算的比较
//IfElse.java
public class IfElse {
static int ternary(int i){
return i<10?i*100:i*10;
}
static int standardIfElse(int i){
if(i<10)return i*100;
else return i*10;
}
public static void main(String[] a){
System.out.println(ternary(9));
System.out.println(ternary(10));
System.out.println(standardIfElse(9));
System.out.println(standardIfElse(10));
}
}
/*
900
100
900
100
*/
建议用If...Else... 编程风格比较明朗