Cho H (huyền) và A (diện tích) tam giác vuông. Nhiệm vụ: tìm chiều cao và đáy.
Ví dụ minh họa
Input: H = 7, A = 8 Output: height = 2.43, base = 6.56
Phương pháp giải
Từ công thức: A = ½×h×b và H² = h² + b². Dẫn xuất: (h+b)² = H² + 4A, (h-b)² = H² - 4A. h = ½(√(H²+4A) + √(H²-4A)) b = ½(√(H²+4A) - √(H²-4A))
Điều kiện: H² ≥ 4A (ngược lại không tồn tại).
Ví dụ chương trình
#include <iostream>
#include <cmath>
using namespace std;
void findDimensions(int H, int A) {
if (H * H < 4 * A) { cout << "Không thể tạo tam giác"; return; }
double val1 = sqrt(H * H + 4 * A);
double val2 = sqrt(H * H - 4 * A);
double b = (val1 + val2) / 2.0;
double h = (val1 - val2) / 2.0;
cout << "Chiều cao = " << h << endl;
cout << "Cạnh đáy = " << b;
}
int main() {
int H = 7, A = 8;
cout << "Huyền = " << H << endl;
findDimensions(H, A);
return 0;
}
Kết quả
Huyền = 7 Chiều cao = 2.43845 Cạnh đáy = 6.56155