【洛谷算法题】P5708-三角形面积【入门1顺序结构】

简介: 【洛谷算法题】P5708-三角形面积【入门1顺序结构】

【洛谷算法题】P5708-三角形面积【入门1顺序结构】

【深基2.习2】三角形面积 - 洛谷

🌏题目描述

一个三角形的三边长分别是 a aab bbc cc,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)}p(pa)(pb)(pc),其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c)p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 11 位小数。

🌏输入格式

第一行输入三个实数 a , b , c a,b,ca,b,c,以空格隔开。

🌏输出格式

输出一个实数,表示三角形面积。精确到小数点后 1 11 位。

🌏样例 #1

🌙样例输入 #1

3 4 5

🌙样例输出 #1

6.0

🌏提示

数据保证能构成三角形,0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 10000a,b,c1000,每个边长输入时不超过 2 22 位小数。

🌏题解

import java.util.Scanner;
public class P5708 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double a = in.nextDouble(), b = in.nextDouble(), c = in.nextDouble();
        double p = (a + b + c) * 0.5;
        System.out.printf("%.1f",Math.sqrt((p*(p-a)*(p-b)*(p-c))));
        in.close();
    }
}

🌏总结

这个题考查了 Java 的输入输出,数据类型和基本数学方法的使用。因为公式的计算结果是小数,所以我们将三角形的三边直接采用 double 类型,然后使用数学函数Math.sqrt()就可以计算 double 类型数据的平方根。

作者:花无缺(huawuque404.com)

相关文章
|
2天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
49 0
|
2天前
|
存储 监控 NoSQL
Redis处理大量数据主要依赖于其内存存储结构、高效的数据结构和算法,以及一系列的优化策略
【5月更文挑战第15天】Redis处理大量数据依赖内存存储、高效数据结构和优化策略。选择合适的数据结构、利用批量操作减少网络开销、控制批量大小、使用Redis Cluster进行分布式存储、优化内存使用及监控调优是关键。通过这些方法,Redis能有效处理大量数据并保持高性能。
22 0
|
2天前
|
存储 机器学习/深度学习 算法
|
2天前
|
网络协议 算法 数据库
【专栏】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。强烈建议收藏!
【4月更文挑战第28天】OSPF是广泛应用的链路状态路由协议,通过分层网络结构和SPF算法实现高效路由。其关键特性包括区域划分、链路状态数据库、邻居关系和路由更新。工作过程涉及邻居发现、信息交换、数据库构建、路由计算及收敛。理解OSPF对于网络管理和规划具有重要意义。
|
2天前
|
算法 前端开发
前端算法-最大三角形面积-鞋带公式&-海伦公式
前端算法-最大三角形面积-鞋带公式&-海伦公式
29 0
|
2天前
|
算法 前端开发
前端算法 岛屿的最大面积 DFS(深度优先搜索)
前端算法 岛屿的最大面积 DFS(深度优先搜索)
11 0
|
2天前
|
机器学习/深度学习 人工智能 算法
分类算法入门:以鸢尾花数据集为例(上)
分类算法入门:以鸢尾花数据集为例(上)
36 2
|
2天前
|
机器学习/深度学习 算法 数据可视化
分类算法入门:以鸢尾花数据集为例(下)
分类算法入门:以鸢尾花数据集为例(下)
55 2
|
2天前
|
存储 算法
【算法与数据结构】深入解析二叉树(二)之堆结构实现
【算法与数据结构】深入解析二叉树(二)之堆结构实现
|
2天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
35 0