fermattest.js

来自「可以进行任意多位的大整数的乘方、开方、四则运算等」· JavaScript 代码 · 共 51 行

JS
51
字号
///////////////////////////////////////////////////////////
// Probabilistic Primality Test Script
// -----------------------------------
// This JScript code checks the primality of strHex for 4 
// times using Fermat Primality Test.
// 
// strHex = "10 9f e4 57 14 86 6e 56 " + 
//          "fd d4 ad 9b 6b 68 6d f2 " + 
//          "72 24 af b7 86 8c f4 f0 " + 
//          "cb b7 94 52 69 32 85 3c " + 
//          "bf 0b ee a6 15 94 16 66 " + 
//          "54 d1 3c d9 fe 0d 9d a5 " + 
//          "94 a9 7e e2 02 30 f1 2f " + 
//          "b5 43 4d e7 3f b4 f8 10 " + 
//          "27 25 a0 16 22 b3 1b 1e " + 
//          "a4 2e 3a 26 50 19 03 9a " + 
//          "c1 df 31 86 9b d9 79 30 " + 
//          "d7 92 fb 72 cd aa 97 1d " + 
//          "8a 80 15 af"
// 
// is a known 800-bit prime.
//
///////////////////////////////////////////////////////////

var strHex, nPrime

strHex = "10 9f e4 57 14 86 6e 56 " + 
         "fd d4 ad 9b 6b 68 6d f2 " + 
         "72 24 af b7 86 8c f4 f0 " + 
         "cb b7 94 52 69 32 85 3c " + 
         "bf 0b ee a6 15 94 16 66 " + 
         "54 d1 3c d9 fe 0d 9d a5 " + 
         "94 a9 7e e2 02 30 f1 2f " + 
         "b5 43 4d e7 3f b4 f8 10 " + 
         "27 25 a0 16 22 b3 1b 1e " + 
         "a4 2e 3a 26 50 19 03 9a " + 
         "c1 df 31 86 9b d9 79 30 " + 
         "d7 92 fb 72 cd aa 97 1d " + 
         "8a 80 15 af"

nPrime = Hpmbmath.FermatTest(strHex, 4)
if (nPrime == 1) {
    Hpmbmath.Output("strHex is a prime.")
}
else if (nPrime == 0) {
    Hpmbmath.Output("strHex is not a prime.")
}
else {
    Hpmbmath.Output("internal error.")
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?