Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您如何使用golang';很可能是次贷?_Go_Primes - Fatal编程技术网

您如何使用golang';很可能是次贷?

您如何使用golang';很可能是次贷?,go,primes,Go,Primes,我的尝试总是失败:( 有人能告诉我我做错了什么吗?x.ProbablyPrime(n)检查x是否为素数,而不是nn是一个指示probalyprime将如何努力确定x的素数的因素。越高的n越长的probalyprime越可能是正确的。具体而言,从以下方面: 如果返回true,则x是概率为1-1/4^n的素数 所以你想要的是: x := big.NewInt(2) fmt.Println(x.ProbablyPrime(4)) 在运动场上运行它。如方法文档中所述: ProbablyPrime执行n

我的尝试总是失败:(

有人能告诉我我做错了什么吗?

x.ProbablyPrime(n)
检查
x
是否为素数,而不是
n
n
是一个指示
probalyprime
将如何努力确定
x
的素数的因素。越高的
n
越长的
probalyprime
越可能是正确的。具体而言,从以下方面:

如果返回true,则x是概率为1-1/4^n的素数

所以你想要的是:

x := big.NewInt(2)
fmt.Println(x.ProbablyPrime(4))

在运动场上运行它。

如方法文档中所述:

ProbablyPrime执行n Miller-Rabin测试以检查x是否为 素数。如果返回true,则x是素数,概率为1-1/4^n。如果 它返回false,x不是素数

n、 传递给该方法的参数不是您试图测试素数的数量,而是确定进行素数猜测的准确性:n值越高,猜测越准确,但需要额外计算

如果要测试2是否为素数,可以执行()操作:


“x是素数,概率为1-1/4^n”这句话对我来说毫无意义。要么x是素数,要么它不是素数,都不涉及随机性。相反,算法的输出是随机的,因此类似“如果x不是素数,[函数]返回false,概率至少为1-1/4^n”的语句更有意义。我不同意。假设函数返回true,x为素数的概率为1-1/4^n。如果我们对这个世界所知的只是
x.ProbablyPrime(n)
返回true,那么我们知道x是素数的概率是1-1/4^n。当然,我们可以了解更多关于x的信息,并对其素数更加确定,但只需要知道
x的输出。ProbablyPrime(n)
,这是我们能做的最好的了。我想你希望
n
比1大得多?对于n=1,你仍然会错过3/4的非素数。(这只影响大数,小素数在算法中是特例。)我建议写
isPrime:=I.ProbablyPrime(10)
左右。
x := big.NewInt(2)
fmt.Println(x.ProbablyPrime(4))
package main

import (
    "fmt"
    "math/big"
)

func main() {
    i := big.NewInt(2)
    isPrime := i.ProbablyPrime(1)
    fmt.Println(isPrime)
}