Pagini recente » Cod sursa (job #2129018) | Cod sursa (job #1477042) | Cod sursa (job #1924004) | Cod sursa (job #3183288) | Cod sursa (job #164344)
Cod sursa(job #164344)
#include <stdio.h>
#define i r
#define FORMULA (long) ((long long)(_fact(i,j)/fact(j))))
FILE *f,*g;
long 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;
if(j==0) return 1;
for(long k=i+1;k<=j;++k){
ret*=k;
}
return ret;
}
void citire(){
fscanf(f,"%ld%ld",&r,&d);
}
long long combinari(long n, long p){
if(p==0||p==n) return 1;
else return fact(n-p+1,n)/fact(1,p);
}
void numara(){
long nr=0,j;
for(j=0;j<r/2;++j){
long long x=combinari(i,j);
printf("j %ld:x %ld\n",j,x);
if(x%d==0) nr+=2;
}
if((r & 1)==0){
long long x=combinari(i,j);;
printf("j %ld:x %ld\n",j,x);
if(x%d==0) nr++;
}else{
long long x=combinari(i,j);
printf("j %ld:x %ld\n",j,x);
if(x%d==0) nr+=2;
}
fprintf(g,"%ld",nr);
}