Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm hypot(), hypotf(), hypotl() trong C++


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của các hàm hypot(), hypotf(), hypotl() trong C++.

Hàm hypot()

Hàm này dùng để tính cạnh huyền của tam giác vuông. Hàm trả về căn bậc hai của tổng bình phương hai biến. Là hàm của header <cmath>.

Cạnh huyền là gì?

Cạnh huyền là cạnh dài nhất của tam giác vuông.

Công thức tính cạnh huyền:

$$H = \sqrt{x^2 + y^2}$$

Cú pháp

Kieu_du_lieu hypot(Kieu_du_lieu X, Kieu_du_lieu Y);

Tham số

Hàm hypot() nhận hai tham số X, Y.

Ví dụ

Input: X=3, Y=4 → Output: 5
Input: X=12, Y=5 → Output: 13

Giá trị trả về

Căn bậc hai của X^2 + Y^2.

Cách tiếp cận

  • Khởi tạo hai biến.
  • Gọi hàm hypot().
  • In kết quả.

Ví dụ code

#include <cmath>
#include <iostream>
using namespace std;

int main() {
    int a = 3, b = 4, c;
    cout << "A= " << a << " B= " << b;
    c = hypot(a, b);
    cout << "\nC= " << c << endl;
    double x = 12, y = 5, z;
    cout << "X=" << x << " Y=" << y;
    z = hypot(x, y);
    cout << " Z= " << z;
    return 0;
}

Kết quả

A=3 B=4
C=5
X=12 Y=5 Z=13

Hàm hypotf()

hypotf() thực hiện cùng nhiệm vụ với hypot() nhưng trả về kiểu float và tham số cũng là float. Thuộc header <cmath>.

Cú pháp

float hypotf(float x, float y);

Ví dụ code

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    float x = 12.75, y = 5.56, z;
    cout << "X= " << x << " Y= " << y;
    z = hypotf(x, y);
    cout << " Z= " << z;
    return 0;
}

Kết quả

X=12.75 Y=5.56 Z=13.90956

Hàm hypotl()

hypotl() tương tự nhưng trả về kiểu long double và tham số là long double. Thuộc header <cmath>.

Cú pháp

long double hypotl(long double x, long double y);

Ví dụ code

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    long double x = 9.342553435, y = 10.0987456456, z;
    cout << "X= " << x << " Y= " << y;
    z = hypotl(x, y);
    cout << " Z= " << z;
    return 0;
}

Kết quả

X=9.342553435 Y=10.0987456456 Z=13.7575