Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def four_squares(number: int) -> list[int, int, int, int]:
- limit_ = math.ceil(math.sqrt(number))
- for a in range(limit_, -1, -1):
- if a ** 2 <= number:
- limit = math.ceil(math.sqrt(number - a ** 2 + 1))
- for b in range(limit, -1, -1):
- if a ** 2 + b ** 2 <= number:
- limit = math.ceil(math.sqrt(number - a ** 2 - b ** 2 + 1))
- for c in range(limit, -1, -1):
- if a ** 2 + b ** 2 + c ** 2 <= number:
- limit = math.ceil(math.sqrt(number - a ** 2 - b ** 2 + 1 - c ** 2))
- for d in range(limit, -1, -1):
- # print([a, b, c, d])
- if a ** 2 + b ** 2 + c ** 2 + d ** 2 == number:
- return [a, b, c, d]
- print(four_squares(106369249365575352836589875696130383747))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement