1. 程式人生 > 其它 >P3-統計素數個數-暴力演算法

P3-統計素數個數-暴力演算法

//統計素數個數
//素數:只能被1和自身整除的自然數,0、1除外
public class P3 {
 
    public static void main(String[] args) {
        System.out.println(bf(100));
    }
 
    //暴力演算法
    public static int bf(int n) {
        int count = 0;
 
        for (int i = 2; i < n; i++) {
            count += isPrime(i) ? 1 : 0;
        }
 
        
return count; } //判斷是否是素數 /* i 其實不用寫成小於 x 例如x=12時 無非就是 2*6 3*4 4*3 6*2 前後其實是相同,只是交換了的 前後兩個的臨界點就是 根號12 * 根號12 根號12約等於3.46,所以2*6 3*4 和 4*3 6*2 大概就是在3.46的位置開始對稱 只要根號x之前沒找到,後面都不會找到,不用繼續查詢 * */ private static boolean isPrime(int x) {
// for (int i=2; i<x; i++){ for (int i = 2; i * i <= x; i++) { if (x % i == 0) { return false; } } return true; } }