परिचय
इस ट्यूटोरियल में हम दो संख्याएं ढूंढने के लिए एक प्रोग्राम लिखेंगे जहां x + y = n और x * y = n। कभी-कभी ऐसे संख्याएं ढूंढना संभव नहीं होता। हम None प्रिंट करेंगे यदि ऐसी कोई संख्याएं नहीं हैं। आइए शुरू करते हैं।
दी गई संख्याएं एक द्विघात समीकरण (quadratic equation) के योग और गुणनफल हैं। इसलिए संख्या मौजूद नहीं होती यदि n² - 4n < 0। अन्यथा संख्याएं होंगी:
$$\frac{n + \sqrt{n^2 - 4n}}{2}$$ और $$\frac{n - \sqrt{n^2 - 4n}}{2}$$
उदाहरण कोड
#include <bits/stdc++.h>
using namespace std;
void findTwoNumbersWithSameSumAndProduct(double n) {
double imaginaryValue = n * n - 4.0 * n;
// काल्पनिक मूलों की जांच
if (imaginaryValue < 0) {
cout << "None";
return;
}
// x और y प्रिंट करना
cout << (n + sqrt(imaginaryValue)) / 2.0 << endl;
cout << (n - sqrt(imaginaryValue)) / 2.0 << endl;
}
int main() {
double n = 50;
findTwoNumbersWithSameSumAndProduct(n);
return 0;
}
आउटपुट
48.9792 1.02084
सत्यापन
योग: 48.9792 + 1.02084 ≈ 50 ✓
गुणनफल: 48.9792 × 1.02084 ≈ 50 ✓
निष्कर्ष
यह द्विघात सूत्र का सीधा अनुप्रयोग है। समीकरण x² - nx + n = 0 के मूल x और y हैं। विविक्तक (discriminant) n² - 4n होना चाहिए ≥ 0 वास्तविक हल के लिए। यदि आपके कोई प्रश्न हैं, तो कमेंट सेक्शन में पूछें।