【洛谷算法题】P5717-【深基3.习8】三角形分类【入门2分支结构】Java题解
👨?💻博客主页:@花无缺
欢迎 点赞👍 收藏? 留言📝 加关注?!
本文由 花无缺 原创收录于专栏 【洛谷算法题】
文章目录
【洛谷算法题】P5717-【深基3.习8】三角形分类【入门2分支结构】
🌏题目描述
给出三条线段 a , b , c a,b,c a,b,c 的长度,均是不大于 10000 10000 10000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
- 如果三条线段不能组成一个三角形,输出
Not triangle
; - 如果是直角三角形,输出
Right triangle
; - 如果是锐角三角形,输出
Acute triangle
; - 如果是钝角三角形,输出
Obtuse triangle
; - 如果是等腰三角形,输出
Isosceles triangle
; - 如果是等边三角形,输出
Equilateral triangle
。
如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
🌏输入格式
输入 3 个整数 a a a、 b b b 和 c c c。
🌏输出格式
输出若干行判定字符串。
🌏样例 #1
🌙样例输入 #1
3 3 3
🌙样例输出 #1
Acute triangle
Isosceles triangle
Equilateral triangle
🌏样例 #2
🌙样例输入 #2
3 4 5
🌙样例输出 #2
Right triangle
🌏样例 #3
🌙样例输入 #3
6 10 6
🌙样例输出 #3
Obtuse triangle
Isosceles triangle
🌏样例 #4
🌙样例输入 #4
1 14 5
🌙样例输出 #4
Not triangle
🌏提示
当两短边的平方和大于一长边的平方,说明是锐角三角形。
当两短边的平方和等于一长边的平方,说明是直角三角形。
当两短边的平方和小于一长边的平方,说明是钝角三角形。
🌏题解
import java.util.Scanner;
import java.util.Arrays;
public class P5717 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 将三角形的三条边长存储在数组中
int[] a = new int[3];
for (int i = 0; i < a.length; i++) {
a[i] = in.nextInt();
}
// 将数组从小到大排序
// 排序后 a[0],a[1]为三角形的短边, a[2]为三角形的长边
Arrays.sort(a);
// 首先判断三条边是否能构成三角形
// 判断条件: 任意两条边之和大于第三边, 任意两条边只差小于第三边
if (a[0] + a[1] > a[2] && a[0] - a[1] < a[2]) {
// 如果两条短边的平方和等于长边的平方和, 则该三角形是直角三角形
if (a[0] * a[0] + a[1] * a[1] == a[2] * a[2]) {
System.out.println("Right triangle");
// 如果两条短边的平方和大于长边的平方和, 则该三角形是锐角三角形
} else if (a[0] * a[0] + a[1] * a[1] > a[2] * a[2]) {
System.out.println("Acute triangle");
// 否则为钝角三角形
} else {
System.out.println("Obtuse triangle");
}
// 两短边相等为等腰三角形
if (a[0] == a[1]) {
System.out.println("Isosceles triangle");
}
// 三条边两两相等为等边三角形
if (a[0] == a[1] && a[1] == a[2]) {
System.out.println("Equilateral triangle");
}
// 不能组成三角形
} else {
System.out.println("Not triangle");
}
in.close();
}
}
🌏总结
这个题考察了简单的数学知识,结合选择结构,我们可以很轻松的做出来。
🌸欢迎
关注
我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【CSS选择器全解指南】
📢【HTML万字详解】
你们的点赞👍 收藏? 留言📝 关注?
是我持续创作,输出优质内容
的最大动力!
谢谢!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!