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.