Pagini recente » Cod sursa (job #479391) | Cod sursa (job #2393696) | Cod sursa (job #2614487) | Cod sursa (job #567317) | Cod sursa (job #204200)
Cod sursa(job #204200)
var v,l:array[0..1000]of int64;
m:array[0..1000,1..1000]of int64;
n,p,r,o:int64;
i,j,k:longint;
f:text;
begin
assign(f,'desc.in');
reset(f);
read(f,n,k);
close(f);
r:=0;
while r<trunc(sqrt(n))do
begin
r:=r+1;
if(n mod r=0)then begin p:=p+1;
v[p]:=r;
l[p]:=n div r;
end;
end;
r:=0;
if v[p]=l[p] then r:=1;
for i:=1 to p do
v[2*p-i+1-r]:=l[i];
p:=p*2-r;
for i:=1 to p do
v[i-1]:=v[i];
p:=p-1;
for i:=1 to p do
m[0,i]:=1;
for i:=1 to p do
begin
r:=0;
for j:=p downto 1 do
begin
m[i,j]:=m[i,j+1];
if v[i] mod v[j]=0 then begin while v[r]<>v[i] div v[j] do
r:=r+1;
m[i,j]:=m[i,j]+m[r,j];
end;
end;
end;
r:=p;
j:=1;
assign(f,'desc.out');
rewrite(f);
writeln(f,m[p,1]);
{ i:=p;
while(k>0)and(r>0)do
begin
while v[r] mod v[j]>0 do
j:=j+1;
while v[i]<>v[r] div v[j] do
i:=i-1;
if m[i,j]<k then begin k:=k-m[i,j];
j:=j+1;
end
else begin write(f,v[j],' ');
r:=i;
end;
end; }
writeln(f);
close(f);
end.