Nếu có sai thì nói mình nhé.
==============================
program Hello;
uses crt;
var n,bcnn,k,i:integer;
a:array[1..100000] of integer;
begin
clrscr;
write('n = '); readln(n);
write('Nhap mang: ');
for i:= 1 to n do
read(a[i]);
while k = 0 do
begin
inc(bcnn); {cộng thêm 1 cho bội}
k:=1; {k = 1 để kết thúc vòng lặp nếu tìm được bội chung nhỏ nhất **}
for i:=1 to n do
if bcnn mod a[i] <> 0 then {kiểm tra xem bcnn có phải là bội chung nhỏ nhất không(chia hết cho các số trong mãng), "bcnn mod a[i] <> 0": nếu nó không chia hết cho a[i] thì không phải là bội, gán k = 0 để tiếp tục vòng lặp, vì điều kiện "while k = 0 do".}
begin
k:=0;
break;
end;
if k = 1 then {**, khi câu lệnh "k:=0" không được thực hiện, tức là tìm được bội chung nhỏ nhất thì in ra màn hình, và kết thúc vòng lặp.}
begin
write('BCNN: ', bcnn);
break;
end;
end;
readln;
readln;
end.