Pagini recente » Cod sursa (job #1058471) | Cod sursa (job #2628992) | Cod sursa (job #2620041) | Cod sursa (job #673354) | Cod sursa (job #229255)
Cod sursa(job #229255)
#include<stdio.h>
FILE*f=fopen("pascal.in","r");
FILE*g=fopen("pascal.out","w");
int n,d;
int fct(int n, int d) //la ce putere apare d in descomp lu n!
{
int p1=0,p=d;
while(n/p)
{
p1+=n/p;
p=p*d;
}
return p1;
}
int main()
{
fscanf(f,"%d%d",&n,&d);
int i,p=1,p1,p2,p3,p4,p5,p6,sol=0;
if(d!=6 && d!=4)
{
p1=fct(n,d);
for(i=0;i<=n;++i)
{
p2=fct(i,d);
p3=fct(n-i,d);
if(p1 > p2+p3) ++sol;
}
}
else if(d==6)
{
p1=fct(n,3);
p2=fct(n,2);
for(i=0;i<=n;++i)
{
p3=fct(i,2);
p4=fct(i,3);
p5=fct(n-i,2);
p6=fct(n-i,3);
if(p1 > p4+p6 && p2> p3+p5) ++sol;
}
}
else if(d==4)
{
p1=fct(n,2);
for(i=0;i<=n;++i)
{
p2=fct(i,2);
p3=fct(n-i,2);
if(p1 > p2+p3 && p1-p2-p3>1) ++sol;
}
}
fprintf(g,"%d\n",sol);
return 0;
}