演算法 貓撲素數的演算法實現

2021-08-03 13:16:20 字數 535 閱讀 6222

所謂貓撲數

指以2開頭,後面跟任意個3的十進位制數。如:2、23、233等。

素數是指:
在大於1的自然數中,除了1和它本身以外不再有其他因數,這樣的數稱為素(質)數。

因此,貓撲素數即上述兩種概念的交集,即該集合中的數字既是貓撲數,也是素數

// 判斷i是否是貓撲數

private boolean ismopnumber (int i )

// 判斷i是否為素數

private boolean isprime(int i)

}return true;

}}// 測試函式,列出1~1000之間的貓撲素數

private void test()

}

以上就是貓撲素數的求解過程了,主要是對概念的認識,其次判斷貓撲數的演算法也值得思考。

超級素數實現演算法

1.超級素數的概念 乙個m位數的素數,從高位到低位一次去掉乙個數,仍然都是素數。輸入m,輸出m為超級素數的總個數並且輸出最大m為的超級素數 2.分析 可以從兩個方向出發 1 從1位開始找素數,然後一步步加位數,查詢素數 2 從m位開始找,然後在去掉最高位,在查詢素數。不管是什麼方法,我們都發現,超級...

產生素數的演算法

solovag strasson robert solovag和volker strasson開發了一種概率的基本測試演算法。這個演算法使用了雅可比函式來測試p是否為素數 1 選擇乙個小於p的隨機數a。2 如果 a,p 1,那麼 p 通不過測試,它是合數。3 計算j a p 1 2 mod p。4 ...

素數判斷演算法

bool isprime int n bool isprime int n int p max void prime int n return n odd 最後把主體和 剩下的 乘起來作為結果 演算法思路 對於n,從素數表中取出任意的素數對其進行費馬測試,如果取了很多個素數,n仍未測試失敗,則認為 ...