用 C++ 找出總和和 GCD 已知的兩個數
已知兩個數 a 和 b 的和和 GCD,需要找到兩個數 a 和 b。如果找不到此類數字,則返回 -1。假設和為 6,GCD 為 2,則這兩個數為 4 和 2。
方法如下,已知 GCD,可以得出此數將是 GCD 的倍數。現在,執行以下步驟
如果將第一個數字選為 GCD,則第二個數字將為 sum − GCD
如果前一步中選擇的兩個數的和與給定的和相同,則列印兩個數。
否則,列印 -1,表示不存在該數字。
示例
#include <iostream>
#include <algorithm>
using namespace std;
void printTwoNumbers(int s, int g) {
if (__gcd(g, s - g) == g && s != g)
cout << "first number = " << min(g, s - g) << "\nsecond number = " << s - min(g, s - g) << endl;
else
cout << -1 << endl;
}
int main() {
int sum = 6;
int gcd = 2;
printTwoNumbers(sum, gcd);
}輸出
first number = 2 second number = 4
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP