bool is_prime(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; ++i) {
if (n % i == 0) return false;
}
return true;
}
int main() {
int a, b;
cin >> a >> b;
int max_prime = -1;
int x = -1, y = -1;
for (int i = 1; i <= a; ++i) {
if (a % i == 0) {
int j = a / i;
if (b % j == 0 && is_prime(i + j)) {
if (i + j > max_prime) {
max_prime = i + j;
x = i;
y = j;
}
}
}
}
if (x == -1 || y == -1) {
cout << "Không tìm thấy hai số x, y thoả mãn yêu cầu." << endl;
} else {
cout << "Hai số x, y thoả mãn x là ước của a, y là ước của b và x+y là số nguyên tố lớn nhất là: " << x << ", " << y << endl;
}
#include <iostream>
using namespace std;
bool is_prime(int n) {
if (n < 2) return false;
for (int i = 2; i * i <= n; ++i) {
if (n % i == 0) return false;
}
return true;
}
int main() {
int a, b;
cin >> a >> b;
int max_prime = -1;
int x = -1, y = -1;
for (int i = 1; i <= a; ++i) {
if (a % i == 0) {
int j = a / i;
if (b % j == 0 && is_prime(i + j)) {
if (i + j > max_prime) {
max_prime = i + j;
x = i;
y = j;
}
}
}
}
if (x == -1 || y == -1) {
cout << "Không tìm thấy hai số x, y thoả mãn yêu cầu." << endl;
} else {
cout << "Hai số x, y thoả mãn x là ước của a, y là ước của b và x+y là số nguyên tố lớn nhất là: " << x << ", " << y << endl;
}
return 0;
}