Cod sursa(job #276072)

Utilizator b_polarAgape Mihai b_polar Data 10 martie 2009 20:33:00
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#define DIM 13
using namespace std;
long long v[DIM]={5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125};
long long div(long long nr)
{
long 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 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+sup)/2/5*5;cout<<endl<<div(2441406)<<endl;return 0;}
                           else if(f>P)sup=(inf+sup)/2-1;
                           else inf=(inf+sup)/2+1;
                           }
cout<<-1;
}