java程序求素数


java求素数

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
31
32
package code;

/**
 * 
 * @author Smart
 *
 */
public class Prame {
/**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        int a,b;
        a=0;
        b=0;
        for (int i = 101; i <= 200; i++) {
         for(int j = 2; j < i; j++) {
         if( i%j == 0 )
         a++;
     }
            if ( a < 1 ) {
             b++;
             System.out.println(i);
             a = 0;
            } else
                a = 0;
        }
        // TODO code application logic here
        System.out.println("101至200之间有" + b + "个素数");
    }
}

优化后的程序

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
package code;

/**
 * 
 * @author Smart
 *
 */
public class PrameB {
/**
     * @param args the command line arguments
     */
public static void main(String[] args) {
int count = 0;
        for (int i = 101; i < 200; i += 2) {
            boolean b = false;
            for(int j=2; j <= Math.sqrt(i); j++) {
             if(i % j == 0) { 
             b = falsebreak
         } else
     b = true;                                       
            }
            if(b == true) {
         count ++;System.out.println(i );
         }
        }
        System.out.println( "素数个数是: " + count);
}
}