Pagini recente » Cod sursa (job #119299) | Cod sursa (job #1403835) | Cod sursa (job #761852) | Cod sursa (job #761857) | Cod sursa (job #1607175)
#include <stdio.h>
int numar2(int linie,int i,int div)
{ int plus=0;
long numar=1;
int j;
int sol=0;
if (i!=0){
plus=(linie-i+1)%div;
if (plus!=0) plus=div-plus;
for(j=linie-i+1+plus;j<=linie;j=j+div) numar=numar*j;
for(j=div;j<=i;j=j+div) numar=numar/j;
}
if (numar%div==0 && numar !=0) sol++;
return sol;
}
int main(){
int linie,numar,rez,i;
FILE *f=fopen("pascal.in","r");
FILE *g=fopen("pascal.out","w");
fscanf(f,"%d %d",&linie,&numar);
switch(numar)
{
case 2:
for(i=0;i<((linie+1)/2);i++) rez+=2*numar2(linie,i,2);
if (linie%2==0) rez+=numar2(linie,linie/2,2);
break;
case 3:
for(i=0;i<((linie+1)/2);i++) rez+=2*numar2(linie,i,3);
if (linie%2==0) rez+=numar2(linie,linie/2,3);
break;
case 4:
for(i=0;i<((linie+1)/2);i++) rez+=2*numar2(linie,i,2);
if (linie%2==0) rez+=numar2(linie,linie/2,3);
break;
case 5:
for(i=0;i<((linie+1)/2);i++) rez+=2*numar2(linie,i,5);
if (linie%2==0) rez+=numar2(linie,linie/2,5);
break;
}
fprintf(g,"%d",rez);
}