classSolution { public: intcountTriples(int n){ int ans = 0; for (int a = 1; a <= n; a++) { for (int b = 1; b <= n; b++) { int k = a * a + b * b; int c = sqrt(k); ans += c * c == k && c <= n; // if (c * c == k) { // printf("(%d, %d, %d)\n", a, b, c); // } } } return ans; } };
''' LastEditTime: 2025-12-08 18:53:01 ''' from math import sqrt
classSolution: defcountTriples(self, n: int) -> int: ans = 0 for a inrange(1, n + 1): for b inrange(1, n + 1): k = a * a + b * b c = int(sqrt(k)) ans += c <= n and c * c == k # if c <= n and c * c == k: # print(f"({a}, {b}, {c})") return ans
# a = Solution() # print(a.countTriples(5))
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* * @LastEditTime: 2025-12-08 18:59:47 */ classSolution { publicintcountTriples(int n) { intans=0; for (inta=1; a <= n; a++) { for (intb=1; b <= n; b++) { intk= a * a + b * b; intc= (int)Math.sqrt(k); if (c <= n && c * c == k) { ans++; } } } return ans; } }
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/* * @LastEditTime: 2025-12-08 18:57:02 */ package main
import"math"
funccountTriples(n int) (ans int) { for a := 1; a <= n; a++ { for b := 1; b <= n; b++ { k := a * a + b * b c := int(math.Sqrt(float64(k))) if c <= n && c * c == k { ans++ } } } return }
Rust
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* * @LastEditTime: 2025-12-08 21:55:06 */ implSolution { pubfncount_triples(n: i32) ->i32 { letmut ans: i32 = 0; forain1..n+1 { forbin1..n+1 { letk = a * a + b * b; letc = (k asf64).sqrt() asi32; if c <= n && c * c == k { ans += 1; } } } ans } }