PlanttPastes

euler 80

Jun 26th, 2026
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const B = 10n ** 200n, squares = [4n, 9n, 16n, 25n, 36n, 49n, 64n, 81n];
  2. let ans = 0n;
  3. for (let i = 2n; i < 100n; i++) {
  4.     if (squares.includes(i)) continue;
  5.     const X = i * B;
  6.     let l = 0n, r = 10n ** 101n;
  7.     while (l < r) {
  8.         const m = l + r + 1n >> 1n;
  9.         if (m * m <= X) l = m;
  10.         else r = m - 1n;
  11.     }
  12.     l /= 10n;
  13.     for (let j = 0; j < 100; j++) {
  14.         ans += l % 10n;
  15.         l /= 10n;
  16.     }
  17. }
  18. console.log(ans);
Advertisement
Add Comment
Please, Sign In to add comment