ABC156 D - Bouquet メモ
メモ
問題
メモ
回答
繰り返し二乗法について
繰り返し自乗法 - sataniC++n階乗
// nの階乗 function fact(n){ if (n<=0) return 1; let fact = n; while(--n){ fact *= n; } return fact; }
- nCr
// nCr function comb(n, r){ if (r<=0) return 1; return fact(n) / (fact(r) * fact(n-r)); }
- 繰り返し二乗法
// 繰り返し二乗法 function pow(a, n, p){ if (n===1) return a%p; if (n%2 === 1) return (a * pow(a, n-1, p)) % p; let t = pow(a, n/2, p); return (t*t)%p; }