Cod sursa(job #872284)
Utilizator | Data | 5 februarie 2013 22:27:22 | |
---|---|---|---|
Problema | Factorial | Scor | 25 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int j, p,i,s,d,m,k;
int main()
{
int sol=-1;
ifstream f("fact.in");
f>>p;
ofstream g("fact.out");
s=1;d=20000000;
while(s<d)
{
m=(s+d)/2;
k=0;
for(j=5;j<=m;j=j*5)
k=k+m/j;
if(k==p)
{
sol=m;
sol--;
d=m-1;
}
else if(k>p)
d=m-1;
else s=m+1;
}
g<<sol;
return 0;
}