Pagini recente » Cod sursa (job #2145834) | Cod sursa (job #2563157) | Cod sursa (job #2563156) | Cod sursa (job #1564934) | Cod sursa (job #2506707)
#include<bits/stdc++.h>
using namespace std;
int n;
ifstream in("fact.in");
ofstream out("fact.out");
#define MAX 100000000
int get_zero_in_factorial(int last)
{
int div=5;
int result=0;
while(div<=last)
{
result+=last/div;
div*=5;
}
return result;
}
int solve()
{
int left=1,right=MAX;
int to_return=-1;
while(left<=right)
{
if(left==right)
{
to_return=left;
break;
}
int middle=(left+right)/2;
int here=get_zero_in_factorial(middle);
if(n<=here)
{
right=middle;
}
else if(n>here)
{
left=middle+1;
}
}
if(get_zero_in_factorial(to_return)==n)
return to_return;
return -1;
}
int main()
{
in>>n;
out<<solve();
}