Pascal

Modified: Wednesday, 22-12-2021 07:00 AM

Cho số nguyên dương A

Hãy tìm tất cả các số nguyên dương x và y với x ≤ y sao cho:

1/x + 1/y = 1/A

Ví dụ:
Nhap so A: 2
TH   1: x= 3 | y= 6
TH   2: x= 4 | y= 4
---------------------
Co 2 truong hop
------ The end ------


var x,a,d:int64;
    t:byte;
    y:real;
begin
    d:=0;
    write('Nhap so A: ');
    readln(a);
    x:=0;
    t:=0;
    while x <= a*a do
    begin
        inc(x); 
        y := (x-a)/(a*x);
        if y>0 then
        begin
            y := 1/y;
            if (frac(y)=0) and(x<=y) then 
            begin 
                inc(d);
                writeln('TH ',d:3,': x= ',x,' | y= ',y:0:0);
            end;
            //if x=y then t:=1;
            if x>=y then break;
        end;
    end;
    writeln('---------------------');
    if d=0 then writeln('Khong co truong hop nao!')
    else writeln('Co ',d,' truong hop');
    writeln('------ The end ------');
    readln;
end.