Cod sursa(job #324337)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 15 iunie 2009 19:43:26
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>

long long a[5000001],i,r,d;
long long nr;

long long cat( long long x)
{   long long k=0;
    while(x%d==0)  k+=x/d, x/=d;
    return k;
}    

int main()
{ 
  freopen("pascal.in","r",stdin);
  freopen("pascal.out","w",stdout);
  
  scanf("%lld %lld",&r,&d);
  
  for(i=2;i<=r;i++){  a[i]=cat(i);
                      a[i]=a[i-1]+a[i];
                   }
for(i=r/2;i>=1;--i)   if((a[r]-(a[r-i]+a[i]))>0) nr++;                         

if(r%2==0) printf("%lld\n",2*nr-1);
else printf("%lld\n",2*nr);

fclose(stdin);
fclose(stdout);

return 0;
}