Đến nội dung

Hình ảnh

pascal.


  • Please log in to reply
Chủ đề này có 1 trả lời

#1
phuongpro

phuongpro

    Hạ sĩ

  • Thành viên
  • 60 Bài viết
Viết chương trình con tìm ƯCLN của 2 số nguyên a,b.
-Dùng hàm này để tính BCNN của 2 số m,n.
-Dùng hàm này để cộng 2 phân số trước và sau khi cộng đều giản ước.

Các bạn giúp nhanh nha!Cảm ơn nhiều!

Bài viết đã được chỉnh sửa nội dung bởi phuongpro: 23-02-2010 - 15:07


#2
nhungtuyet

nhungtuyet

    Trung sĩ

  • Thành viên
  • 106 Bài viết
Function UCLN(x,y:longint)
Begin
While x<>y do If x>y then x:=x-y else y:=y-x;
UCLN:=x;
end;
Hoặc
Function UCLN(x,y:longint);
var r:longint;
Begin

While y ≠ 0
begin
r := x mod y
x := y
y := r
end;
UCLN:=x;

End
+)Tìm BCNN
BCNN:=(x*y) div UCLN(x,y);
+)Rút gọn phân số a/b
a:=a div UCLN(a,b);
b:=b div UCLN(a,b);
+)Cộng 2 phân số rồi rút gọn
Ta có a/b+c/d =(ad+bc)/(bd);
Code
TS:=ad+bc;
MS:=bd;
TS:=TS div UCLN(TS,MS);
MS:=MS div UCLN(TS,MS);

Những cái này áp dụng cho các số nguyên dương thôi.
Nếu mà có số âm thì cũng dễ thôi : lưu dấu rồi chuyển các số âm sang dương (đổi dấu) ra đáp số rồi thì lại vứt dấu vào.

Bài viết đã được chỉnh sửa nội dung bởi becon91: 23-02-2010 - 17:22





1 người đang xem chủ đề

0 thành viên, 1 khách, 0 thành viên ẩn danh