Cod sursa(job #983513)

Utilizator cosmyoPaunel Cosmin cosmyo Data 12 august 2013 00:34:04
Problema Pascal Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<fstream>
using namespace std;
int k,p,n,d;
int nr,x[10];
int t[3]={2,3,5};
int main()
{ifstream fin("pascal.in");
  fin>>n>>d;
 fin.close();
ofstream fout("pascal.out");
  int i;
 for(i=1;i<=(n-1)/2;++i)
 {k=0;
  p=i;
       while(p>1&&k<=2)
       { while(p%t[k]==0)
           {--x[t[k]];p/=t[k];}
        ++k;
       }
  k=0;
  p=n-i+1;
       while(p>1&&k<=2)
       { while(p%t[k]==0)
           {++x[t[k]];p/=t[k];}
        ++k;
       }
  if(d==2||d==5||d==3)
      if(x[d]>0)
        ++nr;
  if(d==4)
    if(x[2]>1)
      ++nr;
     if(d==6)
        if(x[2]>0&&x[3]>0)
         ++nr;
  }
 nr=nr*2;
 if(n%2==0)
     {k=0;
      p=i;
       while(p>1&&k<=2)
       { while(p%t[k]==0)
           {--x[t[k]];p/=t[k];}
        ++k;
       }
       p=n-i+1;
       while(p>1&&k<=2)
       { while(p%t[k]==0)
           {++x[t[k]];p/=t[k];}
        ++k;
       }
       if(d==2||d==5||d==3)
      if(x[d]>0)
        ++nr;
  if(d==4)
    if(x[2]>1)
      ++nr;
     if(d==6)
        if(x[2]>0&&x[3]>0)
         ++nr;
     }
 fout<<nr<<'\n';
fout.close();
return 0;
}