Pagini recente » Cod sursa (job #938819) | Cod sursa (job #156322) | Cod sursa (job #489304) | Cod sursa (job #1698973) | Cod sursa (job #465765)
Cod sursa(job #465765)
# include <stdio.h>
int a[100],sol[100],p,n,nr;
long long x,y;
/*int ok (long k)
{
int i;
bool ok1;
ok1=true;
for (i=1; i<k; i++)
if (sol[k]==sol[i])
{
ok1=false;
break;
}
if (ok1==true) return 1;
else return 0;
}*/
void back ()
{ int i,j,k;
long long y;
bool ok;
k=1;
sol[k]=0;
while (k>0)
{
if (sol[k]<n)
{
sol[k]++;
ok=true;
for (j=1; j<k; j++)
if (sol[k]==sol[j])
{
ok=false;
break;
}
if (ok==true)
if (k==n)
{
for (i=1; i<=n; i++)
y=y*10+a[sol[i]];
if (y%p==0) nr++;
y=0;
}
else
{
k++;
sol[k]=0;
}
}
else k--;
}
}
int main ()
{
freopen ("ratphu.in","r",stdin);
freopen ("ratphu.out","w",stdout);
scanf ("%lld %d",&x,&p);
n=0;
y=x;
while (y>0)
{
n++;
a[n]=y%10;
y/=10;
}
back();
printf ("%d\n",nr);
return 0;
}