Cod sursa(job #274124)

Utilizator b_polarAgape Mihai b_polar Data 9 martie 2009 14:25:38
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#define DIM 10
using namespace std;
long v[DIM]={5,25,125,625,3125,15625,78125,390625,1953125,48828125};
long div(long nr)
{
long s=0;
for(int i=0;i<DIM&&v[i]<=nr;i++)s+=(nr/v[i]);
return s;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long P, N, inf, sup, f;
cin>>P;
for(inf=0,sup=5*P;inf<=sup;)
                           {
                           f=div((inf+sup)/2);
                           if(f==P){cout<<inf/5*5;return 0;}
                           else if(f>P)sup=(inf+sup)/2-1;
                           else inf=(inf+sup)/2+1;
                           }
cout<<-1;
}