Cod sursa(job #1903357)

Utilizator tgm000Tudor Mocioi tgm000 Data 5 martie 2017 10:40:03
Problema Pascal Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<cstdio>
int put(int nr,int fact){
   int p=0;
   while(nr%fact==0){
      p++;
      nr/=fact;
   }
   return p;
}
int main(){
   int r,d,p2,p3,p5,i,nr,j;
   freopen("pascal.in","r",stdin);
   freopen("pascal.out","w",stdout);
   scanf("%d%d",&r,&d);
   i=r;
   nr=0;
   p2=p3=p5=0;
   for(j=0;j<r;j++){
      p2+=put(i-j,2);
      p3+=put(i-j,3);
      p5+=put(i-j,5);
      p2-=put(j+1,2);
      p3-=put(j+1,3);
      p5-=put(j+1,5);
      if(d==2&&p2>=1)
         nr++;
      else if(d==3&&p3>=1)
         nr++;
      else if(d==4&&p2>=2)
         nr++;
      else if(d==5&&p5>=1)
         nr++;
      else if(d==6&&p2>=1&&p3>=1)
         nr++;
   }
   printf("%d",nr);
   return 0;
}