Pagini recente » Cod sursa (job #1757714) | Cod sursa (job #2095630) | Cod sursa (job #971956) | Cod sursa (job #2953087) | Cod sursa (job #465653)
Cod sursa(job #465653)
var i,j,p,m,k,nn:longint;
n,x:qword;
v,a:array[1..20] of byte;
function valid:boolean;
var i:longint;
begin
valid:=true;
for i:=1 to k-1 do
if v[k]=v[i] then
valid:=false;
end;
procedure afis;
begin
x:=0;
for i:=1 to nn do
begin
x:=x*10+a[v[i]];
end;
if x mod p =0 then
inc(m);
end;
procedure bk;
var cont:boolean;
begin
k:=1;
v[k]:=0;
while k>0 do
begin
cont:=false;
while (v[k]<nn)and (not cont) do
begin
inc(v[k]);
if valid then
cont:=true;
end;
if not cont then
begin
k:=k-1;
end
else
begin
if k=nn then
begin
afis;
end
else
begin
inc(k);
v[k]:=0;
end;
end;
end;
end;
begin
assign(input,'ratphu.in');
assign(output,'ratphu.out');
reset(input);
rewrite(output);
read(n,p);
close(input);
i:=0;
while n<>0 do
begin
inc(i);
a[i]:=n mod 10;
n:=n div 10;
end;
nn:=i;
//if nn<9 then
bk;
write(m);
close(output);
end.