首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

HDU 2393 Higher Math:勾股定理判斷直角三角形

     編輯:C++ 入門

HDU 2393 Higher Math:勾股定理判斷直角三角形

給定三邊長 a, b, c(__int64 範圍),判斷能否構成直角三角形。多組測資,輸出 yes 或 no。

解題步驟

  1. 讀入三邊,若任一邊為 0 → no。
  2. 排序使 a ≤ b ≤ c。
  3. 檢查 a*a + b*b == c*c(用 64 位整數防溢出)。
  4. 格式:Scenario #i: 後跟答案與空行。

核心代碼

int main() {
    int T; cin >> T;
    for (int cs=1; cs<=T; ++cs) {
        long long a[3]; cin >> a[0] >> a[1] >> a[2];
        cout << "Scenario #" << cs << ":\n";
        if (a[0] && a[1] && a[2]) {
            sort(a, a+3);
            if (a[0]*a[0] + a[1]*a[1] == a[2]*a[2]) cout << "yes\n\n";
            else cout << "no\n\n";
        } else cout << "no\n\n";
    }
    return 0;
}

注意事項

  • 邊長可達 2^31-1,平方需 __int64 / long long。
  • 輸出格式嚴格:每組後有空行。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved