确定三角形的类型

时间:2018-11-24 03:50:03

标签: sql sql-server sql-server-2012

我正在尝试在下面的黑客等级类型的三角形中根据3个边确定三角形是否是等边的,等腰的,骨的或不是三角形的。

https://www.hackerrank.com/challenges/what-type-of-triangle/problem

我不确定为什么下面的代码没有通过测试用例。不幸的是,我无法下载测试用例以查看为什么它不起作用。

nginx.conf

2 个答案:

答案 0 :(得分:2)

尝试一下:

SELECT CASE WHEN A + B > C AND A+C>B AND B+C>A THEN 
   CASE WHEN A = B AND B = C THEN 'Equilateral' 
        WHEN A = B OR B = C OR A = C THEN 'Isosceles' 
        WHEN A != B OR B != C OR A != C THEN 'Scalene' 
   END 
   ELSE 'Not A Triangle' END FROM TRIANGLES;

斜角三角形的条件在原始查询中不包括以下条件:侧面1 +侧面2 <=侧面3

答案 1 :(得分:2)

尝试这样的事情:

SELECT 
    CASE 
        WHEN A + B > C AND A + C > B AND B + C > A THEN 
            CASE 
                WHEN A = B AND B = C THEN 'Equilateral' 
                WHEN A = B OR B = C OR A = C THEN 'Isosceles' 
                ELSE 'Scalene' END 
        ELSE 'Not A Triangle' END 
    FROM TRIANGLES

仅当三角形是三角形时才对其进行测试。