题解
【入门】能否构成直角三角形
1 条题解
-
0
解题思路
先把三条边从小到大排列,最长边只能是斜边。若两条短边的平方和等于最长边的平方,就能构成直角三角形,面积是两条直角边乘积的一半。
参考代码
// 读取题目给出的数据。 // 按照题意完成计算。 #include <iostream> #include <iomanip> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; // 把最大的数放到 c 中 if (a > b) { int t = a; a = b; b = t; } if (b > c) { int t = b; b = c; c = t; } if (a > b) { int t = a; a = b; b = t; } if (a * a + b * b == c * c) { cout << fixed << setprecision(1) << a * b / 2.0; } else { cout << "No"; } return 0; }复杂度分析
图形题的输出规模是 O(n²),所以时间复杂度为 O(n²),空间复杂度为 O(1)。
- 1