Pagini recente » Cod sursa (job #2454544) | Cod sursa (job #154082) | Cod sursa (job #2028995) | Cod sursa (job #2051952) | Cod sursa (job #1348464)
#include <stdio.h>
int fact(int k,int n){
int put=0;
while(n/k>=1){
put+=n/k;
k*=k;
}
return put;
}
int main(){
freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
int i,j,k,cate=0,p1,p2,p3,n;
scanf("%d%d",&i,&k);
if(i%2==0)
n=i+2;
else
n++;
if(k==2||k==3||k==5){
p1=fact(k,i);
for(j=2;j<=n/2;j++){
p2=fact(k,j);
p3=fact(k,i-j);
if(p1-p2-p3>=1)
cate++;
}
}
if(k==4){
k=2;
p1=fact(k,i);
for(j=2;j<=n/2;j++){
p2=fact(k,j);
p3=fact(k,i-j);
if(p1-p2-p3>=2)
cate++;
}
}
if(k==6){
for(j=2;j<=n/2;j++){
p1=fact(3,i);
p2=fact(3,j);
p3=fact(3,i-j);
if(p1-p2-p3>=1){
p1=fact(2,i);
p2=fact(2,j);
p3=fact(2,i-j);
if(p1-p2-p3>=1)
cate++;
}
}
}
cate*=2;
if(i%2==0)
cate--;
printf("%d",cate);
return 0;
}