(a: number, b: number)
| 164 | } |
| 165 | const factors = primeFactors(n); |
| 166 | let f = BigInt(1); |
| 167 | let r = BigInt(1); |
| 168 | for (const k of Object.keys(factors)) { |
| 169 | const v = BigInt(parseInt(k)); |
| 170 | const exponentBase = BigInt(exponent); |
| 171 | f = f * v ** (BigInt(factors[Number(k)]) / exponentBase); |
| 172 | r = r * v ** (BigInt(factors[Number(k)]) % exponentBase); |
| 173 | } |
| 174 | return [Number(f), Number(r)]; |
| 175 | } |
| 176 | |
| 177 | export function gcd(a: number, b: number): number { |
no test coverage detected