Cod sursa(job #774096)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 3 august 2012 14:21:41
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.28 kb
#include<fstream>
using namespace std;

int calc2(int nr){
    int s=0,p=2;
    while (nr/p>0){s+=nr/p; p*=2; }
    return(s);
}
int calc3(int nr){
    int s=0,p=3;
    while (nr/p>0){s+=nr/p; p*=3; }
    return(s);
}
int calc5(int nr){
    int s=0,p=5;
    while (nr/p>0){s+=nr/p; p*=5; }
    return(s);
}

int main(void){
    ifstream fin("pascal.in");
    ofstream fout("pascal.out");
    int n,d,i,sol=0,nrn,nrn1;
    fin>>n>>d; 
     if (d==2){
               nrn=calc2(n);
               for (i=0; i<=n; ++i)
                if (nrn-calc2(n-i)-calc2(i)>0) ++sol;
                }
     else if (d==3){
              nrn=calc3(n);
               for (i=0; i<=n; ++i)
                if (nrn-calc3(n-i)-calc3(i)>0) ++sol;
                }
     else if (d==5){
              nrn=calc5(n);
               for (i=0; i<=n; ++i)
                if (nrn-calc5(n-i)-calc5(i)>0) ++sol;
                }
     else if (d==4){
              nrn=calc2(n);
               for (i=0; i<=n; ++i)
                if (nrn-calc2(n-i)-calc2(i)>1) ++sol;
                }
     else {
          nrn=calc2(n); nrn1=calc3(n);
          for (i=0; i<=n; ++i)
           if (nrn-calc2(n-i)-calc2(i)>0&&nrn1-calc3(n-i)-calc3(i)>0)++sol;
           }
     fout<<sol;
  return(0);
}