Cod sursa(job #774330)

Utilizator andreimaresuMaresu Andrei andreimaresu Data 4 august 2012 12:34:39
Problema Pascal Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#include<math.h>
int fact(int r)
{
    if (r==1 || r==0) return 1;
    else return r*fact(r-1);
}
int main()
{
    FILE *f=fopen("pascal.in","r"),*g=fopen("pascal.out","w");
    long int r,nr=0,j,a,i;
    int d;
    fscanf(f,"%ld %d",&r,&d);
    for(j=1;j<=r/2;j++)
            {a=r-j+1;
                for(i=2;i<=j;i++)
                a*=r-j+i;
                a/=fact(j);
                if(a%d==0) nr+=2;
            }
    if(r%2==0) nr--;
    fprintf(g,"%ld",nr);
    fclose(f);
    fclose(g);
    return 0;
}