Cod sursa(job #164339)

Utilizator alzwdedVlad Mesco alzwded Data 23 martie 2008 22:46:41
Problema Pascal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>

#define i r
#define FORMULA (long) ((long long)(_fact(i,j)/fact(j))))

FILE *f,*g;
long r,d;
void citire();
void numara();

int main(){
    f=fopen("pascal.in","r");
    g=fopen("pascal.out","w");
    
    citire();
    numara();

    fclose(g);
    return 0;
}

long long fact(long i, long j){
    long long ret=i;
    
    for(int k=i+1;k<=i;++k){
	ret*=k;
    }
    
    return ret;
}

void citire(){
    fscanf(f,"%ld%ld",&r,&d);
}

void numara(){
    long nr=0,j;

    for(j=0;j<r/2;++j){
	long long x=(fact(i-j,i)/fact(j));
	if(x%d==0) nr+=2;
    }        
    if((r & 1)==0){
	long long x=(fact(i-j,i)/fact(j));
	if((x%d==0) nr++;
    }else{
	long long x=(fact(i-j,i)/fact(j));
	if((x%d==0) nr++;
    }
    
    fprintf(g,"%ld",nr);
}