deffind_right_triangles(max_side): triangles = [] for a inrange(1, max_side + 1): for b inrange(a, max_side + 1): c = int(math.sqrt(a**2 + b**2)) if c <= max_side and a**2 + b**2 == c**2: triangles.append((a, b, c)) return triangles
publicclassRightTriangles { publicstatic List<int[]> findRightTriangles(int maxSide) { List<int[]> triangles = newArrayList<>(); for (inta=1; a <= maxSide; a++) { for (intb= a; b <= maxSide; b++) { intc= (int) Math.sqrt(a * a + b * b); if (c <= maxSide && a * a + b * b == c * c) { triangles.add(newint[] {a, b, c}); } } } return triangles; }
voidfindRightTriangles(int maxSide, int (*triangles)[3], int *count) { *count = 0; for (int a = 1; a <= maxSide; a++) { for (int b = a; b <= maxSide; b++) { int c = (int)sqrt(a * a + b * b); if (c <= maxSide && a * a + b * b == c * c) { triangles[*count][0] = a; triangles[*count][1] = b; triangles[*count][2] = c; (*count)++; } } } }
intmain() { int triangles[1000][3]; int count; findRightTriangles(200, triangles, &count); for (int i = 0; i < count; i++) { printf("(%d, %d, %d)\n", triangles[i][0], triangles[i][1], triangles[i][2]); } return0; }
std::vector<std::vector<int>> findRightTriangles(int maxSide) { std::set<std::vector<int>> triangles; for (int a = 1; a <= maxSide; a++) { for (int b = a; b <= maxSide; b++) { int c = std::sqrt(a * a + b * b); if (c <= maxSide && a * a + b * b == c * c) { triangles.insert({a, b, c}); } } } return std::vector<std::vector<int>>(triangles.begin(), triangles.end()); }