Pagini recente » Cod sursa (job #1361609) | Cod sursa (job #828371) | Cod sursa (job #2649109) | Cod sursa (job #2269660) | Cod sursa (job #301040)
Cod sursa(job #301040)
type List=array[0..51010] of longint;
var n:longint;
v,sol:List;
fol:array[0..51010] of boolean;
sols:longint;
procedure Citeste;
var f:text;
i:longint;
begin
assign(f,'economie.in');
reset(f);
readln(f,n);
for i:=1 to n do read(f,v[i]);
close(f);
end;
procedure QuickSort(var A: List; Lo, Hi: longint);
procedure Sort(l, r: longint);
var
i, j, x, y: longint;
begin
i := l; j := r; x := a[(l+r) DIV 2];
repeat
while a[i] < x do i := i + 1;
while x < a[j] do j := j - 1;
if i <= j then
begin
y := a[i]; a[i] := a[j]; a[j] := y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;
begin {QuickSort};
Sort(Lo,Hi);
end;
procedure Ciur;
var i,j:longint;
begin
sols:=0;
for i:=1 to n do fol[i]:=false;
for i:=1 to n do
begin
if not fol[i] then
begin
sols:=sols+1;
sol[sols]:=v[i];
for j:=i to n do
begin
if (v[j] mod v[i])=0 then fol[j]:=true;
end;
end;
end;
end;
procedure Scrie;
var f:text;
i:longint;
begin
assign(f,'economie.out');
rewrite(f);
writeln(f,sols);
for i:=1 to sols do write(f,sol[i],' ');
close(f);
end;
begin
Citeste;
QuickSort(v,1,n);
Ciur;
Scrie;
end.