小科的三角形 C++ 代码实现

【题目描述】
小科拿到了小明刚刚选的三根木棍组成的三角形,三条边的长度分别为 a, b, c。
她想要知道这个三角形是不是直角三角形:
如果是直角三角形,需要输出这个三角形的斜边长的平方;
如果不是直角三角形,需要输出以其中任意两条边为直角边的直角三角形的斜边平方的最大值。

【输入】
一行 3个空格分隔的整数 a, b, c,分别为三角形的三条边。
对于100% 的数据,1≤a,b,c≤100 且可以组成三角形。

【输出】
一行 1个整数,为题目要求输出的直角三角形斜边平方。

【输入样例】
3 4 6
【输出样例】
52

#include <iostream>
#include <algorithm>  
int main() {
    int a, b, c;
    std::cin >> a >> b >> c;

    
    int a2 = a * a;
    int b2 = b * b;
    int c2 = c * c;

     
    if (a2 + b2 == c2 || a2 + c2 == b2 || b2 + c2 == a2) {
         
        int hypotenuse_square = std::max({a2, b2, c2});
        std::cout << hypotenuse_square << std::endl;
    } else {
        
        int max_hypotenuse_square = std::max({
            a2 + b2,  
            a2 + c2, 
            b2 + c2  
        });
        std::cout << max_hypotenuse_square << std::endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值