Cod sursa(job #148851)
Utilizator | Data | 4 martie 2008 21:48:17 | |
---|---|---|---|
Problema | Pascal | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include<stdio.h>
long long xj2,b,xj,r,a,aux,d,n,i,xi,nr;
int main(){
FILE *f=fopen("pascal.in","r");
fscanf(f,"%lld %lld",&n,&d);
fclose(f);
i=d;
xi=0;
for(i=d;i<=n;i*=i){
xi+=(n/i);
}
b=xi;
xj=xi;
xj2=0;
for(i=1;i<=n-1;i++){
a=n-i+1;
b=0;
while(a%d==0){
b++;
a/=d;
}
aux=i;
xj-=b;
b=0;
while(aux%d==0){
b++;
aux/=d;
}
xj2+=b;
if(xi>xj+xj2)nr++;
}
// nr*=2;
FILE *g=fopen("pascal.out","w");
fprintf(g,"%lld",nr);
fclose(g);
return 0;
}