Given a positive integer n
, return the number of triplets (a, b, c)
such that 1 <= a, b, c <= n
and a^2 + b^2 = c^2
.
n
: What is the typical or maximum value of n
we can expect? This helps us optimize our code accordingly.(a, b, c)
is the same as (b, a, c)
) or do we count both?For this problem, the primary task is to clearly identify and count the Pythagorean triplets within the given range.
a
, b
, and c
since the constraints average-case scenario involves a relatively small range of numbers.a
, b
, and c
, check if the condition a^2 + b^2 == c^2
holds.def countSquareSumTriples(n: int) -> int:
count = 0
for a in range(1, n+1):
for b in range(1, n+1):
c2 = a*a + b*b
c = int(c2**0.5)
if c*c == c2 and c <= n:
count += 1
return count
count
is used to keep track of the number of valid triplets.a
from 1
to n
.b
from 1
to n
.c2
represents ( a^2 + b^2 ).c
is the square root of c2
.c
squared equals c2
(i.e., c
is an integer).c
is within the allowed range (1 <= c <= n
).This solution is efficient given the constraints, and the use of Python’s inherent mathematical operations makes it straightforward to implement and understand.
Got blindsided by a question you didn’t expect?
Spend too much time studying?
Or simply don’t have the time to go over all 3000 questions?