Pagini recente » Cod sursa (job #368126) | Cod sursa (job #3132485) | Cod sursa (job #430011) | Cod sursa (job #2357525) | Cod sursa (job #497306)
Cod sursa(job #497306)
#include<stdio.h>
long long n,nr;
int p,nrc,v[20],st[20],sumac;
long long fact(int x){
long long f=1;
int i;
for(i=1;i<=x;++i) f*=i;
return f;
}
void det_cifre(long long x){
while(x){
v[++nrc]=x%10; x/=10;
}
}
int main(){
freopen("ratphu.in","r",stdin);
freopen("ratphu.out","w",stdout);
int pare=0,i,impare=0,n5=0,n0=0;
scanf("%lld%d",&n,&p);
det_cifre(n);
for(i=1;i<=nrc;++i){
impare+=v[i]&1,sumac+=v[i];
n5+=v[i]==5,n0+=v[i]==0;
}
pare=nrc-impare;
switch(p){
//case 1: nr=fact(nrc);break;
case 2: nr=pare*fact(nrc-1);
break;
/*
case 3: if(sumac%3==0) nr=fact(nrc);
else nr=0;
break;
case 5: nr=(n5+n0)*fact(nrc-1); break;
case 9: if(sumac%9==0) nr=fact(nrc);
else nr=0;
break;
case 10: nr=n0*fact(nrc-1);break;
*/
}
printf("%lld",nr);
return 0;
}