Tìm a, b thỏa mãn: a + b = N và a × b = N.
Giải pháp toán học
Thay a = N - b vào a×b = N:
(N-b)×b = N → b² - Nb + N = 0
Phương trình bậc 2: b = (N ± √(N² - 4N)) / 2
Có nghiệm thực khi N² - 4N ≥ 0 → N ≥ 4 (với N>0).
Chương trình C++
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
double N;
cout << "Nhap N: "; cin >> N;
double delta = N*N - 4*N;
if (delta < 0) {
cout << "Khong co so thuc thoa man\n";
return 0;
}
double sqrtD = sqrt(delta);
double a = (N + sqrtD) / 2;
double b = (N - sqrtD) / 2;
cout << fixed << setprecision(5);
cout << "a = " << a << ", b = " << b << "\n";
cout << "Kiem tra: a+b = " << a+b << ", a*b = " << a*b << "\n";
return 0;
}
Kết quả (N=12)
Nhap N: 12 a = 10.89898, b = 1.10102 Kiem tra: a+b = 12.00000, a*b = 12.00000