• hdu 3817


    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
     int main()
     {
         int t;
         int a[3];
         while(~scanf("%d",&t)) 
         {
             for(int i=1;i<=t;i++)
             {
                 scanf("%d%d%d",&a[0],&a[1],&a[2]);
                 sort(a,a+3);
                 if(a[0]*a[0]+a[1]*a[1]==a[2]*a[2])
                 {
                     printf("Case %d: Right triangle
    ",i);
                     continue;
                 }
                 if(a[0]*a[0]+a[1]*a[1]<a[2]*a[2])
                 {
                     printf("Case %d: Obtuse triangle
    ",i);
                     continue;
                 }
                 if(a[0]*a[0]+a[1]*a[1]>a[2]*a[2])
                 {
                     printf("Case %d: Acute triangle
    ",i);
                     continue;
                 }
             }
         }
         return 0;
     }

    只需判断锐角或钝角或直角;

    设三角形最长边为c  其余两边分别为a b  则
    若a^2+b^2=c^2  直角三角形(勾股定理逆定理)
    若a^2+b^2>c^2  锐角三角形
    若a^2+b^2<c^2  钝角三角形
    设1中三边对应的角分别为A、B、C  则
    若A=90度  直角三角形
    若A>90度  钝角三角形
    若A<90度且A为最大角  锐角三角形
    若有a=b或(a-b)(b-c)(c-a)=0,  则△ABC为等腰三角形
    若有(a-b)2+(b-c)2+(c-a)2=0,  则△ABC为等边三角形
    若有(a2-b2)( a2+b2-c2)=0,  则△ABC为等腰三角形或直角三角形
    若有a=b且 a2+b2=c2,  则△ABC为等腰直角三角形
    若有sin2A+sin2B=sin2C或sinA=sinB,   则△ABC为直角三角形或等腰三角形
    若有cosA>0,或tanA>0,(其中∠A为△ABC中的最大角)    则△ABC为锐角三角形
    若有cosA<0,或tanA<0,(其中∠A为△ABC中的最大角),    则△ABC为钝角三角形
    若有两个(或三个)同名三角函数值相等(如tanA=tanB,    则△ABC为等腰三角形(或等边三角形)
    若有特殊的三角函数值,则按特殊角来判断,如cosA=,b=c,则△ABC为等边三角形

  • 相关阅读:
    Fiddler——若网模拟测试
    MySQL——concat / instr函数
    Centos7 + docker + Jenkins搭建及测试
    常用正则表达式
    mariadb配置文件优化参数
    Python小技巧整理
    部署zabbix3.2.7,升级到3.4、proxy部署
    zabbix3.4.x添加短信报警
    个人总结OLinux上安装oracle11G Data Guard
    LRM-00109: could not open parameter file '/u01/app/oracle/product/12.1.0/db_1/dbs/initepps.ora'
  • 原文地址:https://www.cnblogs.com/gao-qi/p/6861885.html
Copyright © 2020-2023  润新知