from bisect import bisect_right
n = int(input())
kwadraty = set(i*i for i in range(1, n+1))
sumy = []
ds = 0
for a in range(1, n+1):
for b in range(a, n+1):
s = a*a+b*b
if s <= n*n:
sumy.append(s)
sumy.sort()
for h in range(1, n+1):
idx = bisect_right(sumy, n*n-h*h)
for s in sumy[:idx]:
x = h*h+s
if x in kwadraty:
ds += 1
print(ds)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from bisect import bisect_right n = int(input()) kwadraty = set(i*i for i in range(1, n+1)) sumy = [] ds = 0 for a in range(1, n+1): for b in range(a, n+1): s = a*a+b*b if s <= n*n: sumy.append(s) sumy.sort() for h in range(1, n+1): idx = bisect_right(sumy, n*n-h*h) for s in sumy[:idx]: x = h*h+s if x in kwadraty: ds += 1 print(ds) |
English