

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
uses crt;
function check(a,b: qword; G,L: longint): boolean;
var ucln, bcnn: longint;
m,n: qword;
begin
m := a;
n := b;
while (a > 0) and (b > 0) do
if a > b then a := a mod b else b := b mod a;
if a = 0 then ucln := b else ucln := a;
bcnn := (m div ucln)*n;
exit((L = ucln) and (G = bcnn));
end;
function max(a,b: qword): qword;
begin
if a > b then exit(a) else exit(b);
end;
function min(a,b: qword): qword;
begin
if a < b then exit(a) else exit(b);
end;
var G,L,kq: longint;
i,a,b,n,u,v: qword;
begin
readln(L,G);
a := 1000000000000000000;
b := 1000000000000000000;
n := G div L;
kq := 0;
i := 1;
while i*i <= n do
begin
if n mod i = 0 then
begin
u := L*i;
v := L*(n div i);
if (check(u,v,G,L)) and (u + v < a + b) then
begin
a := u;
b := v;
inc(kq);
end;
end;
inc(i);
end;
if kq = 0 then write(-1) else write(min(a,b),' ',max(a,b));
end.
$\\$
`\bb\color{#3a34eb}{\text{@hoanganhnguyen09302}}`
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
2
995
0
c++ dk ạ
9055
97380
5311
bạn dịch sang c++ là đc mà mới cả ai bảo trong đề ko thèm nói
2
995
0
thôi bạn lm giúp mk dk
9055
97380
5311
ai báo cáo câu tl rồi ko sửa đc nữa
2
995
0
thế vt ở phần bl này nek
9055
97380
5311
#include <iostream> #define qword unsigned long long using namespace std; bool check(qword a, qword b, int G, int L) { int ucln, bcnn; qword m, n; m = a; n = b; while (a > 0 && b > 0) if (a > b) a = a % b; else b = b % a; if (a == 0) ucln = b; else ucln = a; bcnn = (m / ucln) * n; return (L == ucln && G == bcnn); } qword max(qword a, qword b) { if (a > b) return a; else return b; } qword min(qword a, qword b) { if (a < b) return a; else return b; } int main() { int G, L, kq = 0; qword i, a, b, n, u, v; cin >> L >> G; a = 1000000000000000000; b = 1000000000000000000; n = G / L; i = 1; while (i * i <= n) { if (n % i == 0) { u = L * i; v = L * (n / i); if (check(u, v, G, L) && u + v < a + b) { a = u; b = v; kq++; } } i++; } if (kq == 0) cout << -1; else cout << min(a, b) << ' ' << max(a, b); return 0; } Rút gọn#include <iostream> #define qword unsigned long long using namespace std; bool check(qword a, qword b, int G, int L) { int ucln, bcnn; qword m, n; m = a; n = b; while (a > 0 && b > 0) if (a > b) a = a % b; else b = b... xem thêm