在C++程序中找到两个与N相同的和和乘积的数字
在本教程中,我们将编写一个程序来查找两个数字,其中x+y=n和x*y=n。有时无法找到这些类型的数字。如果没有这样的数字,我们将打印None 。让我们开始吧。
给定的数字是二次方程的和和乘积。因此,如果n2-4*n<0,则数字不存在。否则,数字将是$$\lgroupn+\sqrtn^{2}-4*n\rgroup/2$$和$$\lgroupn-\sqrtn^{2}-4*n\rgroup/2$$。
示例
让我们看看代码。
#include输出结果using namespace std; void findTwoNumbersWithSameSumAndProduc(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; findTwoNumbersWithSameSumAndProduc(n); return 0; }
如果你执行上面的程序,那么你会得到下面的结果。
48.9792 1.02084
结论
如果您对本教程有任何疑问,请在评论部分提及。