Cod sursa(job #1474125)

Utilizator BodStfBodoarca Stefan BodStf Data 20 august 2015 23:44:48
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<malloc.h>

int function(int a,int b)
{
	int f=1,i,m,n,k;
	if(a==0)
		m=1;
	else
	{
	   for(i=1;i<=a;f*=i++);
	   m=f;
	}
	f=1;

	if(b==0)
		n=1;
	else
	{
	   for(i=1;i<=b;f*=i++);
	   n=f;
	}
	f=1;

	if(a-b==0)
		k=1;
	else
	{
	   for(i=1;i<=a-b;f*=i++);
	   k=f;
	}
	return m/(n*k);
}

int main()
{
	FILE* f1,*f2;
	f1=fopen("pascal.in","r");
	f2=fopen("pascal.out","w");
	if(!f1 || !f2)
	{
		printf("eroare la deschiderea fisierului!\n");
		return -1;
	}

	int R,D,count=0;
	fscanf(f1,"%d %d",&R,&D);
	int* v=(int*)malloc((R+1)*sizeof(int));
	for(int j=0;j<R+1;j++)
	{
		v[j]=function(R,j);
		if(v[j]%D==0)
			count++;
	}

	fprintf(f2,"%d",count);
	free(v);
	return 0;
}