Solución
solution.tsTypeScript
export function getPiDigits(n: number): string {
const precision = n + 10;
const escale = 10n ** BigInt(precision);
const arctanInverse = (inverse: bigint): bigint => {
const inverseSqur = inverse * inverse;
let term = escale / inverse;
let sum = term;
let divider = 1n;
let sign = -1n;
while (term > 0n) {
term /= inverseSqur;
divider += 2n;
const fraction = term / divider;
if (fraction === 0n) {
break;
}
sum += sign * fraction;
sign *= -1n;
}
return sum;
};
const piEsc =
16n * arctanInverse(5n) -
4n * arctanInverse(239n);
const pi = piEsc / (10n ** 10n);
return "3." + pi.toString().slice(1);
}0respuestas