一个 平方和三元组 (a,b,c)
指的是满足 a2 + b2 = c2
的 整数 三元组 a
,b
和 c
。
给你一个整数 n
,请你返回满足 1 <= a, b, c <= n
的 平方和三元组 的数目。
示例 1:
输入:n = 5 输出:2 解释:平方和三元组为 (3,4,5) 和 (4,3,5) 。
示例 2:
输入:n = 10 输出:4 解释:平方和三元组为 (3,4,5),(4,3,5),(6,8,10) 和 (8,6,10) 。
提示:
1 <= n <= 250
class Solution:
def countTriples(self, n: int) -> int:
res = 0
for a in range(1, n + 1):
for b in range(1, n + 1):
t = a ** 2 + b ** 2
c = int(sqrt(t))
if c <= n and c ** 2 == t:
res += 1
return res
class Solution {
public int countTriples(int n) {
int res = 0;
for (int a = 1; a <= n; ++a) {
for (int b = 1; b <= n; ++b) {
int t = a * a + b * b;
int c = (int) Math.sqrt(t);
if (c <= n && c * c == t) {
++res;
}
}
}
return res;
}
}
class Solution {
public:
int countTriples(int n) {
int res = 0;
for (int a = 1; a <= n; ++a) {
for (int b = 1; b <= n; ++b) {
int t = a * a + b * b;
int c = (int) sqrt(t);
if (c <= n && c * c == t) {
++res;
}
}
}
return res;
}
};
func countTriples(n int) int {
res := 0
for a := 1; a <= n; a++ {
for b := 1; b <= n; b++ {
t := a*a + b*b
c := int(math.Sqrt(float64(t)))
if c <= n && c*c == t {
res++
}
}
}
return res
}