Pagini recente » Cod sursa (job #2670310) | Cod sursa (job #2879141) | Cod sursa (job #2617227) | Cod sursa (job #3194166) | Cod sursa (job #49278)
Cod sursa(job #49278)
type nmari=array[0..255] of longint;
var f,g:text;
x:array[1..512] of longint;
a:array[1..500,1..1000] of nmari;
n,i,j,k,l,m,l1,l2:longint;
function cmmdc(l,u:longint):longint;
begin
if l mod u=0 then cmmdc:=u
else cmmdc:=cmmdc(u, l mod u)
end;
procedure incr(var z,t:nmari);
var i:longint;
begin
IF Z[0]=0 THEN
if t[0]>z[0] then z[0]:=t[0];
for i:=1 to z[0] do
begin
inc(z[i], t[i]);
if (z[i]>=10) then
begin
dec(z[i], 10);
inc(z[i+1]);
end;
end;
if (z[z[0]+1]>0) then inc(z[0]);
end;
begin
assign(f,'indep.in');
assign(g,'indep.out');
reset(f);
rewrite(G);
readln(f,n);
for i:=1 to n do
begin
read(f,x[i]);
end;
a[1,x[1]][1]:=1;
a[1,x[1]][0]:=1;
for i:=2 to n do
begin
for j:=1 to 1000 do
begin
fillchar(a[i][j],sizeof(a[i][j]),0);
end;
a[i,x[i]][1]:=1;
a[i,x[i]][0]:=1;
for j:=1 to 1000 do
begin
incr(a[i,j],a[i-1,j]);
incr(a[i,cmmdc(j,x[i])],a[i-1,j]);
end;
end;
for i:=a[n,1][0] downto 1 do write(g,a[n,1][i]);
close(F);
close(G);
end.