Cod sursa(job #535589)

Utilizator SadmannCornigeanu Calin Sadmann Data 17 februarie 2011 14:54:25
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<stdio.h>
FILE *in,*out;
int q,j,i,R,D,cont=0;
long long nfact,kfact;
int main()
{
    in=fopen("pascal.in","rt");
    out=fopen("pascal.out","wt");
    fscanf(in,"%d %d",&R,&D);
    int n=R+1;
    if( n%2 )
    {
        for(i=1;i<=n/2-1;i++)
        {
            kfact=1;
            nfact=1;
            for(q=2;q<=i;q++)
                kfact*=q;
            for(j=R-i+1;j<=R;j++)
                nfact*=j;
            if( !((nfact/kfact)%D) )
                cont+=2;
        }
        kfact=1;
        nfact=1;
        for(q=2;q<=n/2+1;q++)
            kfact*=q;
        for(j=R-R/2+1;j<=R;j++)
            nfact=j;
        if( !((nfact/kfact)%D) )
            cont++;
    }
    else
    {
        for(i=1;i<=n/2-1;i++)
        {
            kfact=1;
            nfact=1;
            for(q=2;q<=i;q++)
                kfact*=q;
            for(j=R-i+1;j<=R;j++)
                nfact*=j;
            if( !((nfact/kfact)%D) )
                cont+=2;
        }
    }

    fprintf(out,"%d",cont);
    return 0;
}