Pagini recente » Cod sursa (job #1668604) | Cod sursa (job #3257879) | Cod sursa (job #1668222) | Cod sursa (job #3218835) | Cod sursa (job #3260870)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p;
int fact(int m)
{
int pt=5,suma=0;
while(pt<=m)
{
suma+=m/pt;
pt*=5;
}
return suma;
}
int cautbin(int stanga, int dreapta)
{
if(p==0) return 1;
int m,s,poz=-1;
while(stanga<=dreapta)
{
m=(stanga+dreapta)/2;
s=fact(m);
if(s==p)
{
poz=m;
dreapta=m-1;
}
else if(s<p) stanga=m+1;
else dreapta=m-1;
}
return poz;
}
int main()
{
f>>p;
g<<cautbin(0,5*p);
f.close();
g.close();
return 0;
}