Description
A square triple (a,b,c) is a triple where a, b, and c are integers and a2 + b2 = c2.
Given an integer n, return the number of square triples such that 1 <= a, b, c <= n.
Example 1:
Input: n = 5 Output: 2 Explanation: The square triples are (3,4,5) and (4,3,5).
Example 2:
Input: n = 10 Output: 4 Explanation: The square triples are (3,4,5), (4,3,5), (6,8,10), and (8,6,10).
Constraints:
1 <= n <= 250
Solutions
Solution 1: Enumeration
We enumerate a and b in the range [1, n), then calculate c = √a2 + b2. If c is an integer and c ≤ n, then we have found a Pythagorean triplet, and we increment the answer by one.
After the enumeration is complete, return the answer.
The time complexity is O(n2), where n is the given integer. The space complexity is O(1).
PythonJavaC++GoTypeScript
class Solution: def countTriples(self, n: int) -> int: ans = 0 for a in range(1, n): for b in range(1, n): x = a * a + b * b c = int(sqrt(x)) if c <= n and c * c == x: ans += 1 return ans(code-box)
