Cod sursa(job #1974717)

Utilizator otnielMercea Otniel otniel Data 28 aprilie 2017 16:10:59
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<iostream>
using namespace std;
#include<stdio.h>
FILE *f,*g;
int r,d,i,j,a[5000001],k=1,prima=1,doua,diferenta,nr;
unsigned m,jfact=1,diffact=1;
int main()
{
    f=fopen("pascal.in","r");
    g=fopen("pascal.out","w");
    fscanf(f,"%d%d",&r,&d);
    a[0]=0;
    a[r]=0;
    for(j=1;j<r;j++)
       {while(k<=r)
       {prima=prima*k;
       k++;}
       k=1;
       diferenta=r-j;
       while(k<=j)
       {jfact=jfact*k;
       k++;}
       k=1;
       while(k<=diferenta)
       {diffact=diffact*k;
       k++;}
	if(diffact==0)
	doua=prima/(jfact);
	else if(jfact==0)
	doua=prima/(diffact);
	else if(diffact==0&&jfact==0)
	doua=prima;
	else
        doua=prima/(diffact*jfact);
        a[j]=doua;
        prima=1;
        jfact=1;
        diffact=1;
        k=1;
       }
       for(i=1;i<r;i++)
      if(a[i]%d==0)
      nr++;
      fprintf(g,"%d",nr);
}