亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到0到100之間的素數?

如何找到0到100之間的素數?

qq_笑_17 2019-08-03 15:03:25
如何找到0到100之間的素數?在Javascript中,如何找到0到100之間的素數?我想過了,我不知道怎么找到他們。我想做x%x,但我發現了一個明顯的問題。到目前為止,這就是我所擁有的:但不幸的是,這是有史以來最糟糕的代碼。var prime = function (){var num;for (num = 0; num < 101; num++){     if (num % 2 === 0){         break;     }     else if (num % 3 === 0){         break;     }     else if (num % 4=== 0){         break;     }     else if (num % 5 === 0){         break;     }     else if (num % 6 === 0){         break;     }     else if (num % 7 === 0){         break;     }     else if (num % 8 === 0){         break;     }     else if (num % 9 === 0){         break;     }     else if (num % 10 === 0){         break;     }     else if (num % 11 === 0){         break;     }     else if (num % 12 === 0){         break;     }     else {         return num;     }}};console.log(prime());
查看完整描述

3 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

下面是一個JavaScript中的篩子實現的例子:

function getPrimes(max) {
    var sieve = [], i, j, primes = [];
    for (i = 2; i <= max; ++i) {
        if (!sieve[i]) {
            // i has not been marked -- it is prime
            primes.push(i);
            for (j = i << 1; j <= max; j += i) {
                sieve[j] = true;
            }
        }
    }
    return primes;}

然后getPrimes(100)將返回2到100之間的所有素數數組(包括在內)。當然,由于內存限制,不能在大參數中使用。

Java實現看起來非常類似。




查看完整回答
反對 回復 2019-08-05
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

我就是這樣解決的。將它從Java重寫為JavaScript,所以如果出現語法錯誤,請原諒。

function isPrime (n){
    if (n < 2) return false;

    /**
     * An integer is prime if it is not divisible by any prime less than or equal to its square root
     **/

    var q = Math.floor(Math.sqrt(n));

    for (var i = 2; i <= q; i++)
    {
        if (n % i == 0)
        {
            return false;
        }
    }

    return true;}

一個數字,n,是一個素數,如果它不能被除1和它本身以外的任何其他數整除的話。另外,檢查數字[2,sqrt(N)]就足夠了。




查看完整回答
反對 回復 2019-08-05
  • 3 回答
  • 0 關注
  • 730 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號