Cod sursa(job #412346)

Utilizator mebobBota Bogdan mebob Data 5 martie 2010 15:13:35
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
using namespace std;

long long cinci(long long x)
{
  long long p=0;
  while(x>=5)
    p+=x/5,x/=5;
  return p;
}
int main()
{

  long long p,x,q;int ok=1;
  ifstream in("fact.in");
  ofstream out("fact.out");
  in>>p;
  long long z=p;
  x=p*5;
  for(long long i=5;;i*=5)
    {
    q=p/i;p-=q;if(q==0) break;
    while(q)
      if((p+q)%i!=0||ok==0) x-=5,q--,ok=1;
       else q--,ok=0;
    }
  x=x-x%5;
  if(x==0) x=1;
  if(z!=cinci(x)) out<<-1;
   else out<<x;
  out.close();
  return 0;
}