Bài 1: Phân số tối giản. Cho 2 số nguyên dương A, B (1 ≤ A, B ≤ 109). Hãy tìm phân số tối giản của phân số . Dữ liệu vào: (PSTG.INP) + Dòng 1: Ghi hai

Bài 1: Phân số tối giản.
Cho 2 số nguyên dương A, B (1 ≤ A, B ≤ 109). Hãy tìm phân số tối giản của phân số .
Dữ liệu vào: (PSTG.INP)
+ Dòng 1: Ghi hai số tự nhiên A và B, mỗi số cách nhau ít nhất một ký tự trắng.
Dữ liệu ra: (PSTG.OUT)
+ Dòng 1: Ghi hai số tự nhiên tương ứng là tử số và mẫu số của phân số tối giản.
Ví dụ:
PSTG.INP PSTG.OUT
25 30 5 6
16 21 16 21

0 bình luận về “Bài 1: Phân số tối giản. Cho 2 số nguyên dương A, B (1 ≤ A, B ≤ 109). Hãy tìm phân số tối giản của phân số . Dữ liệu vào: (PSTG.INP) + Dòng 1: Ghi hai”

  1. uses crt;
    var i,a,b:longint; d:text;
    begin
    clrscr;
       assign(d,’PSTG.inp’);reset(d);
          readln(d,a,b);
       close(d);
       assign(d,’PSTG.OUT’);rewrite(d);
          i:=a;
          while(a mod i<>0)or(b mod i<>0)do dec(i);
          writeln(d,a div i,’ ‘,b div i);
       close(d);
    end.

    ///////////////////////////////////////////////

    Giải thích:                   

    Chỗ dòng while đó là mình cho i là bằng a(ucln thì luôn bé hơn hơn hoặc bàng 1 tronng 2 số)

    Giảm cho đến khi i là UC của 2 số

    Chúc bạn hộc tốt!!!!!

    Có gì không hiêu hay code có chỗ nào chưa hợp lí thì để lại bình luận nha:))))

    bai-1-phan-so-toi-gian-cho-2-so-nguyen-duong-a-b-1-a-b-109-hay-tim-phan-so-toi-gian-cua-phan-so

    Bình luận
  2. program pstg;
    uses crt;
    var a,b,i,u : integer;
    f : text;
    BEGIN
    clrscr;
    assign(f,’PSTG.INP’);
    reset(f);
    read(f, a);
    read(f, b);
    u:=1;
    for i:= 1 to a do if ((a mod i)=0) and ((b mod i)=0) and (i>u) then u:=i;
    a:= a div u;
    b:= b div u;
    assign(f,’PSTG.OUT’);
    rewrite(f);
    write(f, a,’ ‘,b);
    close(f);
    END.

    Bình luận

Viết một bình luận