日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

三角形分类(洛谷P5717题题解,Java语言描述)

發布時間:2025/3/15 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三角形分类(洛谷P5717题题解,Java语言描述) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目要求

P5717題目鏈接

分析

要明確各個條件之間的關系!

首先是要看是不是三角形,如果不是就不用也不能進行下面的判斷,這是必須注意的。
判據是:三角形兩邊之和大于第三邊。

接下來要通過三角形的三個角度判類型,包含銳角三角形、直角三角形、鈍角三角形三種。
判據是:余弦定理。

三角形的角度在(0, π)之間,
所以角是鈍角的時候余弦值小于0,-2bccosA則大于0,所以:

直角的情況就是勾股定理啦~~

銳角的情況是:

我們接著想啊,只要有了鈍角或者直角,這個三角形的形狀就可以判了,這種子判斷條件之間關系是“”。
用短路的或會更合適一些。

但是銳角△則是必須三個角全是銳角才能判定。
當然,我想的是,我們既然排除了鈍角△(if)、直角△(else if),就肯定是銳角△啦,這樣也可以判。

其實等腰△不一定是銳角△、直角△、或者鈍角△,但等邊既是等腰△也是銳角△,但為了判斷方便,建議在判完鈍角△/直角△/銳角△之后,獨立地判等腰△,等腰△確認后判一下等邊△,這樣會好一些。

這個題看似很簡單,但要保證邏輯的嚴密,還是值得想想的~~

AC代碼(Java語言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt(), b = scanner.nextInt(), c = scanner.nextInt();scanner.close();boolean isTriangle = a < b + c && b < a + c && c < a + b;boolean isObtuse = a*a > b*b + c*c || b*b > a*a + c*c || c*c > a*a + b*b;boolean isRight = a*a == b*b + c*c || b*b == a*a + c*c || c*c == a*a + b*b;if (!isTriangle) {System.out.println("Not triangle");return;} else if (isObtuse) {System.out.println("Obtuse triangle");} else if (isRight) {System.out.println("Right triangle");} else {System.out.println("Acute triangle");}boolean isIsosceles = a == b || a == c || b == c;boolean isEquilateral = a == b && a == c && b == c;if (isIsosceles) {System.out.println("Isosceles triangle");if (isEquilateral) {System.out.println("Equilateral triangle");}}} }

總結

以上是生活随笔為你收集整理的三角形分类(洛谷P5717题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。