Pagini recente » Cod sursa (job #361474) | Monitorul de evaluare | Cod sursa (job #2204156) | Monitorul de evaluare | Cod sursa (job #2222637)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int P;
int count5(int x)
{
int p5=5;
int cnt=0;
while(x>=p5)
{
cnt+=(x/p5);
p5*=5;
}
return cnt;
}
int caut(int left,int right)
{
if(right>=left)
{
int mid=left+(right-left)/2;
int nr5=count5(mid);
if(nr5==P)
{
mid-=(mid%5);
return mid;
}
if(nr5>P)return caut(left,mid-1);
else return caut(mid+1,right);
}
return -1;
}
int main()
{
fin>>P;
if(!P)fout<<1;
else{
fout<<caut(1,5*P);
}
return 0;
}