大数的快速幂取模JavaScript实现

/**
 * 计算a**b(mod c)
 * @param {bigInt} a 底数
 * @param {bigInt} b 指数
 * @param {bigInt} c 模
 * @returns {binInt}结果
 */
function fastPowerMod(a, b, c){
    let res = 1n 
    a %= c

    while (b) {
        if(b&1n){
            res = (res*a)%c
        }
        a = a*a%c
        b>>=1n
    }
    return res
}
posted @ 2021-09-30 18:23  pangqianjin  阅读(144)  评论(0编辑  收藏  举报