Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm hai số có tổng và tích đều giống N trong Chương trình C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình để tìm hai số trong đó x + y =n và x * y =n. Đôi khi không thể tìm thấy những loại số đó. Chúng tôi sẽ in Không có nếu không có những con số như vậy. Hãy bắt đầu.

Các số đã cho là tổng và tích của một phương trình bậc hai. Vì vậy, số không tồn tại nếu n 2 - 4 * n <0. Các số sẽ là $$ \ lgroup n + \ sqrt n ^ {2} - 4 * n \ rgroup / 2 $$ và $$ \ lgroup n - \ sqrt n ^ {2} - 4 * n \ rgroup / 2 $$.

Ví dụ

Hãy xem mã.

#include <bits/stdc++.h>
using namespace std;
void findTwoNumbersWithSameSumAndProduc(double n) {
   double imaginaryValue = n * n - 4.0 * n;
   // checking for imaginary roots
   if (imaginaryValue < 0) {
      cout << "None";
      return;
   }
   // printing the x and y
   cout << (n + sqrt(imaginaryValue)) / 2.0 << endl;
   cout << (n - sqrt(imaginaryValue)) / 2.0 << endl;
}
int main() {
   double n = 50;
   findTwoNumbersWithSameSumAndProduc(n);
   return 0;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

48.9792
1.02084

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.