Cho 2 số nguyên dương A, B (1 ≤ A < B ≤ 30000). Tìm 2 số nguyên dương p và q (với p ≤ q) sao cho p + q = A và p x q = B. Dữ liệu vào từ file: TIMSO.INP – Gồm 2 số nguyên dương A, B (1 ≤ A < B ≤ 30000), mỗi số trên một dòng. Kết quả ghi ra file: TIMSO.OUT – Gồm 2 số nguyên dương p, q cách nhau một dấu cách. Nếu không tìm được 2 số nguyên dương p và q thỏa mãn yêu cầu thì ghi chữ N. Ví dụ: TIMSO.INP TIMSO.OUT Giải thích 10 2 8 Hai số p = 2, q = 8 vì p + q = 10 và p x q = 16 16 vd2 2 N Không tìm được 2 số nguyên dương p và q thỏa mãn yêu cầu 3 giúp với ạ

1 câu trả lời

uses crt;
var p, q, i, a, b:longint;
label 1;
begin
    clrscr;
    readln(a, b);
    for i:=1 to trunc(sqrt(b)) do
        if b mod i = 0 then
            if i + (b div i) = a then
                begin
                    writeln(i, ' ', b div i);
                    goto 1;
                end;
    writeln('N');
1: readln;
end.