Advertisement
Guest User

Vectorized PoC

a guest
Feb 20th, 2025
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. import time
  2. import numpy as np
  3. tic = time.time()
  4. valids = []
  5. for digits in range(1,6):
  6.     A = np.array(list(range(10**(digits-1), 10**digits)))
  7.     Abase = A*10**digits
  8.     Adiff = 1-2*A
  9.     sqrt_delta = np.sqrt(Adiff**2 - 4*(A**2-Abase))
  10.     B = (Adiff+sqrt_delta)//2
  11.     num = Abase + B
  12.     valid = num[(A+B)**2 == num].astype(np.int32)
  13.     valids.append(valid)
  14. toc = time.time()
  15. print(len(np.hstack(valids)))
  16. print(f"Time elapsed {toc-tic:.1f}s")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement