Cod sursa(job #237680)

Utilizator razyelxrazyelx razyelx Data 30 decembrie 2008 13:55:04
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
FILE*in = fopen("pascal.in","r");
FILE*out= fopen("pascal.out","w");

int cmmdc(long long a, long long b){
    int r;

    while(b!=0){
         r=a%b;  
	 a=b;
	 b=r;
    }
    return a;
}
int main(){
    long long i,j,facti=1,factj=1,factij=1,x,c=0,n,e;

    fscanf(in,"%lld%lld",&i,&x);

    if((i+1)%2 == 0) n = (i+1)/2;
    else             n = (i+1)/2+1;

    for(j=1;j<=i;j++) facti *= j;

    factij = facti;


    for(j=0;j<n;j++){

       if(j!=0){ factj *= j;
		 factij = factij / (i-j+1);
       }

       e = facti/( factij * factj );

       if(e%x == 0) c++;
    }


    if((i+1)%2 == 0) c = c * 2;
    else             c = c * 2 -1;


    fprintf(out,"%lld",c);

    return 0;
}