题解
【入门】三角形类别
1 条题解
-
0
解题思路
先把三条边排序,利用三角形条件和勾股定理比较平方和,判断三角形类别。
参考代码
#include <iostream> using namespace std; int main() { long long a, b, c, t; cin >> a >> b >> c; // 先把三条边从小到大排好,c就是最长边。 if (a > b) { t = a; a = b; b = t; } if (b > c) { t = b; b = c; c = t; } if (a > b) { t = a; a = b; b = t; } // 两条短边之和不大于最长边时,不能组成三角形。 if (a + b <= c) cout << "no"; else if (a * a + b * b == c * c) cout << "zhijiao"; else if (a * a + b * b > c * c) cout << "ruijiao"; else cout << "dunjiao"; // 比较平方和即可判断三角形类别。 return 0; }复杂度分析
代码只使用了简单变量、循环和字符串。设输入长度为 n,时间复杂度为 O(n^2)(若有嵌套枚举则按实际循环计算),额外空间复杂度为 O(n)。
- 1