Pagini recente » Cod sursa (job #2866836) | Cod sursa (job #2836334) | Cod sursa (job #2366030) | Cod sursa (job #2899689) | Cod sursa (job #1689488)
var x:array [1..10000000] of longword;
n,a,b,c:longword;
procedure init;
var i:longword;
begin
x[1]:=b;
for i:=2 to n do
x[i]:=(a*x[i-1]+b) mod c;
end;
procedure lire;
begin
assign(input,'radixsort.in');
reset(input);
read(n,a,b,c);
close(input);
init;
end;
procedure ecrire;
var q,i:longword;
begin
assign(output,'radixsort.out');
rewrite(output);
i:=0;
while ((10*i+1)<n) do
begin
write(x[10*i+1],' ');
i:=i+1;
end;
close(output);
end;
procedure ss(var x,y:longword);
var q:longword;
begin
q:=x;
x:=y;
y:=q;
end;
procedure qs(r,l:longword);
var i,j,q:longword;
begin
i:=r; j:=l; q:=x[(i+j) div 2];
while (i<j) do
begin
while (x[i]<q) do i:=i+1;
while (x[j]>q) do j:=j-1;
if (i<=j) then
begin
ss(x[i],x[j]);
i:=i+1;
j-=1;
end;
end;
if (i<l) then qs(i,l);
if (j>r) then qs(r,j);
end;
begin
lire;
qs(1,n);
ecrire;
end.