以下代码很慢:
(define base 2945795152904547855448158643091235482997756069461486099501216307557115896772)
(define prime 115792089237316195423570985008687907852837564279074904382605163141518161494337)
(modulo (expt base (- prime 2)) prime)
有什么办法可以更快地做到这一点?
例如,Python具有pow
内置函数,可以快速计算该函数。
答案 0 :(得分:4)
罗塞塔代码中有a Racket implementation。
它使用modular-expt
中的math
。
示例:
> (modulo (expt -6 523) 19)
13
> (modular-expt -6 523 19)
13
> (modular-expt 9 158235208 19)
4