Cod sursa(job #367510)

Utilizator mebobBota Bogdan mebob Data 22 noiembrie 2009 15:39:51
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream.h>
//#include<conio.h>

int cinci(int x)
{
  long p=0;
  while(x>=5)
    p+=x/5,x/=5;
  return p;
}
int main()
{
//  clrscr();
  long p,x,q;int ok=1;
  ifstream in("fact.in");
  ofstream out("fact.out");
  in>>p;
  x=p*5;
  for(long i=5;;i*=5)
    {
    q=p/i;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;
//  cout<<x<<" "<<cinci(x+1);
  if(p!=cinci(x)) out<<-1;
   else out<<x;
  return 0;
}