1. 程式人生 > >leetcode-Count Primes javascript解法

leetcode-Count Primes javascript解法

Count Primes

Count the number of prime numbers less than a non-negative number, n.

Example:

Input: 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.

求n以內有多少個素數?

解法:

var countPrimes = function(n) {
    const ans = Array(n).fill(true);//設定一個全是true的陣列,預設全是素數。
    let count = 0;
    for(var i = 2;i<n;i++){//因為2是素數,從2開始。
        if(ans[i]){//如果是此陣列為true就代表是素數,count加1。如果是false則不往下走。
            count++;
            for(var j = 2;i*j<n;j++){//因為i是素數,說明i的倍數就不是素數。所以迴圈i的倍數,讓它等於false。
                ans[i*j] = false;
            }
        }
    }
    return count;//最後返回count的個數。
};

啟發自:https://blog.csdn.net/ace_arm/article/details/79019704