Bài 1:
uses crt;
var fi,fo:text;
n,i:byte;
A:array[0..256] of word;
procedure kta;
begin
assign(fi,'COLUMN.inp');
assign(fo,'COLUMN.out');
{$I-} reset(Fi); {$I+}
if ioresult<>0 then
begin
rewrite(fi);
reset(fi);
end;
readln(fi,n);
for i:=1 to n do read(fi,a[i]);
close(fi); rewrite(fo);
end;
function bcnn(x,y:word):word;
var t1,t2:word;
begin
t1:=x; t2:=y;
while t1<>t2 do
if t1<t2 then t2:=t2-t1
else t1:=t1-t2;
bcnn:=(x*y) div t1;
end;
procedure xl;
var kq:word;
begin
kq:=1;
for i:=1 to n do
kq:=bcnn(kq,a[i]);
for i:=1 to n do
writeln(fo,kq div a[i]);
end;
BEGIN
kta; xl;
close(Fo);
END.
Bài 2:
uses crt;
var fi,fo:text;
n,i:integer;
A:array[0..10000] of integer;
procedure kta;
begin
assign(fi,'ALIBABA.inp');
assign(fo,'ALIBABA.out');
{$I-} reset(Fi); {$I+}
if ioresult<>0 then
begin
rewrite(fi);
reset(fi);
end;
readln(fi,n);
for i:=1 to n do readln(fi,a[i]);
close(fi); rewrite(fo);
end;
procedure xl;
var d,k,j:integer;
begin
i:=1; d:=0;
while i<n do
begin
j:=i+1;
while j<=n do
begin
if a[j]=a[i] then
begin
inc(d);
for k:=j to n-1 do
a[k]:=a[k+1];
dec(n);
end
else inc(j);
end;
inc(i);
end;
write(fo,d);
end;
BEGIN
kta; xl;
close(Fo);
END.
Chúc bạn học tốt!