我试图理解以下算法的时间复杂度(Big),该算法找到x,使得g^x = y (mod p) (即用基g模p求y的离散对数)。discreteLogarithm(y, g, p) a := g a := (a * g) mod pend我知道复杂度是由循环数(until a = y)决定的,但是p是从哪里来的呢?二进制数字是什么?
我正在计算这个星系中心的黑洞的质量,我有太阳质量,但需要以千克为单位。然而,当我尝试转换(1Msun=1.989*10^30 me )时,idl只给出了0.0000。我不知道我做错了什么,我只是尝试告诉idl打印1.989*10^30和1989000000000000000000000000000000000,输出分别为0.00000和-1。有人能解释一下为什么会发生这样的事情吗?