Bài toán tìm ước chung lớn nhất và tìm bội chung nhỏ nhất là 2 bài toán cơ bản. Nhưng hôm nay thầy giáo cho cả lớp biết L là ước chung lớn nhất và G là bội chung nhỏ nhất của 2 số nguyên dương.3 Yêu cầu: Tìm 2 số nguyên dương a và b có tổng nhỏ nhất sao cho ước chung lớn nhất của a và b bằng L, bội chung nhỏ nhất của a và b bằng G. Dữ liệu vào: Đọc từ tệp BAI4.INP gồm 2 số L, G (1 L<G 106). Dữ liệu ra: Ghi ra tệp BAI4.OUT là 2 số a và b tìm được (ab) Ví dụ: BAI4.INP BAI4.OUT 4 60 12 20
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
/* QUANG VIP PRO */
#include <bits/stdc++.h>
using namespace std;
int l, g, a, b;
long long minn = 1e18;
int main(){
cin >> l >> g;
for(long long i = 1; i * i <= l * g; i++){
long long tmp = l * g;
if(tmp % i == 0){
long long tg = tmp / i;
if(__gcd(i, tg) == l and tg + i < minn){
minn = i + tg;
a = i;
b = tmp / i;
}
}
}
cout << a << " " << b;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
CÂU HỎI MỚI NHẤT
bài này làm kieue gì ạaa
19
853
16
NNLT gì bạn?