Cod sursa(job #1011935)
| Utilizator | Data | 17 octombrie 2013 19:28:38 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int p,mic, mare, mij;
int zero(int x)
{
int cati;
for(int i=5;i<=x;i*=5)
cati+=x/i;
return cati;
}
int main()
{
in>>p;
mic=1;
mare=5*p;
mij=(mic+mare)/2;
while(mare>mic)
{
mij=mic+mare/2;
if(zero(mij)>=p)
mare=mij-1;
else mic=mij+1;
}
if(zero(mic)==p)
out<<mic<<'\n';
else out<<"-1\n";
in.close();
out.close();
return 0;
}
