【洛谷算法题】P5717-【深基3.习8】三角形分类【入门2分支结构】Java题解

news2024/10/6 10:31:19

花无缺

👨‍💻博客主页:@花无缺
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 花无缺 原创

收录于专栏 【洛谷算法题】


文章目录

  • 【洛谷算法题】P5717-【深基3.习8】三角形分类【入门2分支结构】
    • 🌏题目描述
    • 🌏输入格式
    • 🌏输出格式
    • 🌏样例 #1
      • 🌙样例输入 #1
      • 🌙样例输出 #1
    • 🌏样例 #2
      • 🌙样例输入 #2
      • 🌙样例输出 #2
    • 🌏样例 #3
      • 🌙样例输入 #3
      • 🌙样例输出 #3
    • 🌏样例 #4
      • 🌙样例输入 #4
      • 🌙样例输出 #4
    • 🌏提示
    • 🌏题解
    • 🌏总结


【洛谷算法题】P5717-【深基3.习8】三角形分类【入门2分支结构】

【深基3.习8】三角形分类 - 洛谷

🌏题目描述

给出三条线段 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();
    }
}

🌏总结

这个题考察了简单的数学知识,结合选择结构,我们可以很轻松的做出来。

作者:花无缺(huawuque404.com)


🌸欢迎关注我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【CSS选择器全解指南】
📢【HTML万字详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1303630.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Opencascad(C++)-导出整个模型到stl文件

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1、前言2、首先创建几个简单的模型3、导出stl的代码为4、查看导出的结果5、结论 1、前言 最近研究下Opencascad&#xff0c;还不是很深入&#xff0c;对于Opencasc…

大语言模型有什么意义?亚马逊训练自己的大语言模型有什么用?

近年来&#xff0c;大语言模型的崭露头角引起了广泛的关注&#xff0c;成为科技领域的一项重要突破。而在这个领域的巅峰之上&#xff0c;亚马逊云科技一直致力于推动人工智能的发展。那么&#xff0c;作为一家全球科技巨头&#xff0c;亚马逊为何会如此注重大语言模型的研发与…

04-Nacos中负载均衡规则的配置

负载均衡规则 同集群优先 默认的ZoneAvoidanceRule实现并不能根据同集群优先的规则来实现负载均衡,Nacos中提供了一个实现叫NacosRule可以优先从同集群中挑选服务实例 当服务消费者在本地集群找不到服务提供者时也会去其他集群中寻找,但此时会在服务消费者的控制台报警告 第…

基于SSM的摄影服务线上选购预约系统设计与实现-计算机毕业设计源码83784

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用SSM技术建设摄影服务线上选购预约系…

设计模式——策略模式(Strategy Pattern)

概述 策略模式又叫政策模式&#xff0c;是一种对象行为型模式。它是将定义的算法家族分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;从而让算法的变化不会影响到使用算法的用户。策略模式的主要目的是将算法的定义与使用分开&#xff0c;也就是将算法的行为和环…

IoTDB JavaAPI

文章目录 使用样例Java使用样例 官方已经给出了相关使用Demo&#xff0c;下载地址为: https://github.com/apache/iotdb 直接拉取相对应版本的源码 使用样例 Java使用样例 代码位置 iotdb/example/session/src/main/java/org/apache/iotdb/SessionExample.java iotdb/exa…

springboot打成war包及VUE打成war包放入tomcat启动

1.springboot打成war包步骤 首先在springboot启动类中继承SpringBootServletInitializer&#xff0c;重写configure方法&#xff0c;如下: SpringBootApplication() public class StartApplication extends SpringBootServletInitializer {public static void main(String[] …

计算机网络编程

网络编程 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c; Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. 计算机网络基础 2. So…

Network 灰鸽宝典【目录】

目前已有文章 11 篇 Network 灰鸽宝典专栏主要关注服务器的配置&#xff0c;前后端开发环境的配置&#xff0c;编辑器的配置&#xff0c;网络服务的配置&#xff0c;网络命令的应用与配置&#xff0c;windows常见问题的解决等。 文章目录 canvas理论基础canvas高级应用示例canv…

Java 线程的基本概念

创建和运行线程 方法一&#xff0c;直接使用 Thread // 创建线程对象 Thread t new Thread() {public void run() {// 要执行的任务}};// 启动线程 t.start();例如&#xff1a; // 构造方法的参数是给线程指定名字&#xff0c;推荐 Thread t1 new Thread("t1") …

软件测试:基础概念

目录 ​编辑 一、前言 二、软件测试的原则和方法论 1.测试的原则 2.测试的方法论 2. 软件测试策略 2.1 单元测试 2.2 集成测试 2.3 系统测试 2.4 用户验收测试 3. 软件测试的最佳实践 3.1 自动化测试 3.2 持续集成 3.3 边界值测试 三、软件测试的技术和实践 1.…

深度学习——第4.3章 深度学习的数学基础

第4章 深度学习的数学基础 目录 4.7 指数函数和对数函数 4.7 指数函数和对数函数 深度学习经常会用到Sigmoid函数和Softmax函数&#xff0c;这些函数是通过包含exp(x)的指数函数创建的。后面我们需要求解这些函数的导数。 4.7.1 指数 指数是一个基于“乘以某个数多少次”&a…

远程工作:自由职业者如何成功赚钱

前言 在这个不断进步的数字化时代&#xff0c;远程工作已经从一个可选的边缘工作方式&#xff0c;成长为主流职业趋势的一部分。特别是自从全球疫情改变了我们的生活和工作方式以来&#xff0c;远程工作的概念不再是遥不可及的理想&#xff0c;而是已经成为许多人日常工作的现…

12 位多通道国产芯片ACM32F403/F433 系列,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中

ACM32F403/F433 芯片的内核基于 ARMv8-M 架构&#xff0c;支持 Cortex-M33 和 Cortex-M4F 指令集。芯片内核 支持一整套DSP指令用于数字信号处理&#xff0c;支持单精度FPU处理浮点数据&#xff0c;同时还支持Memory Protection Unit &#xff08;MPU&#xff09;用于提升应用的…

PCB-修改pcb封装后,规则重新检查出现的提示解决

规则检查 前提 前提 要在.pcbdoc页面点击design 点击 run design rule check 3.出现提示 4.意思是对某些器件修改过&#xff0c;进行重新铺铜即可 重新铺铜快捷键&#xff1a;TGA,如下是重新铺铜后的结果

气温波动 C语言xdoj45

问题描述 最近一段时间气温波动较大。已知连续若干天的气温&#xff0c;请给出这几天气温的最大波动值是多少&#xff0c;即在这几天中某天气温与前一天气温之差的绝对值最大是多少。 输入说明 输入数据分为两行。 第一行包含了一个整数n&#xff0c;表示给出了连续n天…

订单接入支付宝流程实战与优化

概述 了解支付宝支付能力接入方式。电商项目如何对支付流程进行设计及优化。基于 RocketMQ 事务消息实现的订单确认机制&#xff0c;来完成订单超时回退功能。 支付宝接入流程简介 国内目前有支付牌照的公司总共只有两百来家&#xff0c;比如支付宝、云闪付、和包支付、翼支…

el-table的复选框占满全格

el-table的复选框格子很小每次点击都点不到&#xff0c;又不想设置行点击&#xff0c;因为每次复制内容都会选中&#xff0c;实现效果是点击el-table的复选框单元格就可以选中 <template><div style"width: 60vw; margin: 10px;"><el-table :data&quo…

金蝶云星空审核使用了基础资料的属性字段报错:表达式计算出错

文章目录 金蝶云星空审核使用了基础资料的属性字段报错&#xff1a;表达式计算出错报错内容解决方案 金蝶云星空审核使用了基础资料的属性字段报错&#xff1a;表达式计算出错 报错内容 表达式计算出错: F_XXXX_MaterialId.FIsSNManage true and F_XXXX_ProductLibraryId 0 …

Cython笔记:基本使用方法

1 Cython 介绍 Cython 是一种编程语言&#xff0c;用于编写 C 扩展的 Python 模块。它结合了 Python 的易用性和 C 的执行效率&#xff0c;旨在提高特定类型的任务的性能&#xff0c;特别是涉及大量数值计算的任务。 1.2 几个特征 1.2.1 Python 语法的基础 Cython 的大部分语…