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.
Thực chất bài này là tìm bội chung nhỏ nhất của tất cả các số, sau đó lấy bcnn chia cho từng số là ra kết quả.
Chúc bạn học tốt!