Diễn đàn tin học Văn Lang - Vạn Ninh
Chào mừng bạn đến với Diễn đàn Tin học Văn Lang - Vạn Ninh của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !

Diễn đàn tin học Văn Lang - Vạn Ninh

Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal
 
Trang ChínhCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Giải các bài toán về ước và bội

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin
avatar

Posts : 113
Danh tiếng : 5
Join date : 10/11/2014
Age : 16

Bài gửiTiêu đề: Giải các bài toán về ước và bội    12/11/2014, 20:31

Bài 1: Viết chương trình tìm ước của n.
Bài giải:
uses crt;
var n,i:integer;
begin
clrscr;
      write('Nhap n:');readln(n);
       write('Cac uoc cua ',n,' la:');
      for i:=1 to n do if n mod i=0 then write(i:3);
readln;
end.

Bài 2: Viết chương trình tìm ước chẵn của n.
Bài giải:
uses crt;
var n,i:integer;
begin
clrscr;
      write('Nhap n:');readln(n);
      write('Cac uoc chan cua ',n,' la:');
      for i:=1 to n do if (n mod i=0) and (i mod 2=0) then write(i:3);
readln;
end.

Bài 3: Viết chương trình tìm ước lẻ của n.
Bài giải:
uses crt;
var n,i:integer;
begin
clrscr;
      write('Nhap n:');readln(n);
      write('Cac uoc le cua ',n,' la:');
      for i:=1 to n do if (n mod i=0) and (i mod 2=1) then write(i:3);
readln;
end.

Bài 4: Viết chương trình tìm UCLN, BCNN của a và b.
Bài giải:
uses crt;
var a,b:integer;
(****)
function USC(c,d:integer):integer;
begin
    while c<>d do
    if c>d then c:=abs(c)-abs(d)
    else d:=abs(d)-abs(c);
    USC:=c;
end;
{Dùng hàm abs(x) bởi vòng lặp sẽ chạy vô hạn khi có một số dương và một số âm}
function BC(c,d:integer):integer;
begin
    BC:=(c*d) div USC(c,d);
end;
(*****)
begin
clrscr;
      write('Nhap so thu nhat:');readln(a);
      write('Nhap so thu hai:');readln(b);
      writeln('Uoc chung cua ',a,' va ',b,' la:',USC(a,b));
      writeln('Boi chung cua ',a,' va ',b,' la:',BC(a,b));
readln;
end.

Bài 5: Nhập số n, tìm ước lẻ lớn nhất.
Bài giải:
uses crt;
var n,uoc,i:integer;
begin
clrscr;
      write('Nhap n:');readln(n);
      for i:=1 to n do
      if (n mod i = 0) and (i mod 2=1) then uoc:=i;
      writeln('Uoc le lon nhat cua ',n,' la:',uoc);
readln;
end.

Bài 6:  Nhập tử và mẫu của 2 phân số. Quy đồng mẫu số 2 phân số đó .
Bài giải:
uses crt;
var a,b,c,d,x,y,mc:integer;

(******************)
function UCLN(a,b:integer):integer;
begin

            while a<>b do if a>b then a:=a-b
            else b:=b-a;
            UCLN:=a;

end;
(******************)
begin
clrscr;
      write('Nhap tu so thu nhat:');readln(a);
      write('Nhap mau so thu nhat:');readln(b);
      write('Nhap tu so thu hai:');readln(c);
      write('Nhap mau so thu hai:');readln(d);

      mc:=(b*d) div ucln(b,d);
      x:=a*d;
      y:=b*c;
      writeln('Quy dong 2 phan so la:',x,'/',mc,'va',y,'/',mc);
readln;
end.

Bài 7: Nhập vào 1 phân số. Viết chương trình đưa phân số về dạng tối giản.
Bài giải:
uses crt;
var n,tu,mau:integer;
(*****)
function USC(a,b:integer):integer;
begin
while a<>b do
    if a>b then a:=a-b
    else b:=b-a;
    USC:=a;
end;
(*****)
begin
clrscr;
      write('Nhap tu so:');readln(tu);
      write('Nhap mau so:');readln(mau);
      if (mau<>0) then
      begin
           if tu<>0 then
              begin
                   begin
                        n:=USC(tu,mau);
                        tu:=tu div n;
                        mau:=mau div n;
                   end;
              if mau<0 then
                   begin
                        tu:=-tu;
                        mau:=-mau;
                   end;
              end
           else mau:=1;
           writeln('Phan so toi gian:',tu,'/',mau);
      end
      else writeln('Mau so khong duoc bang 0.');
readln;
end.

Bài 8: Nhập vào 3 số. Tìm ước số chung và bội số chung của 3 số đó.
Bài giải:
uses crt;
var a,b,c:integer;
(*****)
function USC(a,b:integer):integer;
begin
    while a<>b do
    if a>b then a:=a-b
    else b:=b-a;
    USC:=a;
end;
(*****)
function BC(a,b:integer):integer;
begin
    BC:=(a*b) div USC(a,b);
end;
(*****)
begin
clrscr;
      write('nhap a:');readln(a);
      write('Nhap b:');readln(b);
      write('nhap c:');readln(c);
      writeln;
      writeln('USC cua ',a,',',b,',',c,' la:',USC(USC(a,b),c));
      writeln;
      write('BC cua ',a,',',b,',',c,' la:',BC(BC(a,b),c));
readln;
end.
Về Đầu Trang Go down
Xem lý lịch thành viên http://forumpascalvanlang.forumvi.com
 
Giải các bài toán về ước và bội
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn tin học Văn Lang - Vạn Ninh :: Bài tập :: Các vòng lặp-
Chuyển đến