• P5717 题解


    解题思路

    本题运用了初中学过的勾股定理和三角形的三边关系:

    [a,b,c为一个三角形的三边长\ 若a-b<c<a+b,则该图形是一个三角形\ \ 若a^2+b^2=c^2,则该三角形是直角三角形\ 若a^2+b^2>c^2,则该三角形是锐角三角形\ 若a^2+b^2<c^2,则该三角形是钝角三角形\ ]

    相应的在题目中, 我们只需要计算三角形三边的平方值, 然后根据条件判断就可以输出答案了.

    代码解释

    每个if分支代表一个判断条件, 之所以不使用elif是因为几个性质可以同时存在, 并不是互斥的.

    题解代码

    代码如下(Python3):

    import sys
    
    strs = input()
    abc = strs.split(" ")
    for x in range(0, 3):
        abc[x] = int(abc[x])
        
    abc.sort()
    a = int(abc[0])
    b = int(abc[1])
    c = int(abc[2])
    
    if (a + b <= c or a - b >= c):
        print("Not triangle")
        sys.exit(0)
    
    if (a**2 + b **2 == c**2):
        print("Right triangle")
    
    if (a**2 + b**2 > c**2):
        print("Acute triangle")
    
    if (a**2 + b**2 < c**2):
        print("Obtuse triangle")
        
    if (a == b or a == c or b == c):
        print("Isosceles triangle")
        
    if (a == b == c):
        print("Equilateral triangle")
    

    PostScript:
    用Cpp及其他语言是差不多的代码,用python3只是为了省时间而已, 如果你是noip选手, 请尽量采用C++重写一遍, 因为NOIp主要采用C++语言.

  • 相关阅读:
    再见OI,AFO
    时间复杂度
    NOIP真题:矩阵取数问题
    [USACO12FEB]附近的牛Nearby Cows
    合唱队
    子串
    ZJOI2010基站选址
    分治FFT学习笔记
    「HAOI2018」染色
    「SDOI2015」序列统计
  • 原文地址:https://www.cnblogs.com/kozumi/p/12991188.html
Copyright © 2020-2023  润新知