Cod sursa(job #658539)

Utilizator catatoaCatalin Toader catatoa Data 8 ianuarie 2012 23:36:22
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.4 kb
#include <fstream>
using namespace std;

short e[10000000];

int main(){
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p,nr,i,f,m;
fin>>p;
if(p==0){
  fout<<1;
  fout.close();
  return 0;
}
for(i=1;i<=p;i++)
  e[i]=1;
f=5;
while(f<=p){
  m=f;
  while(m<=p){
    e[m]++;
    m+=f;
  }
  f*=5;
}
nr=0;
i=1;
while(nr+e[i]<=p)
  nr+=e[i++];
if(nr==p) fout<<(i-1)*5;
else fout<<-1;
fout.close();
}