有二個整數,它們加起來等于某個整數,乘起來又等于另一個整數,它們到底是真還是假,也就是這種整數到底存不存在,實在有點吃不準,你能快速回答嗎?看來隻能通過程式設計。
例如:
x + y = 9,x * y = 15 ? 找不到這樣的整數x和y
1+4=5,1*4=4,是以,加起來等于5,乘起來等于4的二個整數為1和4
7+(-8)=-1,7*(-8)=-56,是以,加起來等于-1,乘起來等于-56的二個整數為7和-8
Input
Output
Sample Input
9 15
5 4
1 -56
0 0
Sample Output
No
Yes
Yes
其實這道題的關鍵
就是解方程而已
/*
x = 9 - y
(9 - y)*y = 15;
-y2+9y-15=0
判斷jia*jia-4*cheng
*/
首先根據b2-4ac這個公式來看一下有沒有根
有根之後我們求一下看看是不是整數解
對于不是整數的解,我就強制轉換成int後
再和原來的數字進行一次比較
如果是相同的話就是說明這是整數解
如果不是的話那麼就是非整數解啦!
#include<iostream>#include<cmath>using namespace std;int main(){int x = ;int y = ;while (cin >> x >> y){if (x == && y == )break;int j = x*x - * y;if (j < )cout << "No" << endl;else{double i = (-x + sqrt(j) )/ ();double k = (-x - sqrt(j)) / ();if ((int)i==i && (int)k==k){cout << "Yes" << endl;}else{cout << "No" << endl;}}}}