Pagini recente » Cod sursa (job #2332471) | Cod sursa (job #893056) | Cod sursa (job #2057465) | Cod sursa (job #2277387) | Cod sursa (job #1797816)
#include <iostream>
#include <fstream>
#define NMax 1000000000
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int n;
long long nr0(int k)
{
int p=5;
long long rez=0;
while(k/p>0)
{
rez+=k/p;
p*=5;
}
return rez;
}
int cautare(int a, int b)
{
if(b-a==1 || a-b==1) return 0;
else if(nr0((a+b)/2)==n) return (a+b)/2;
else if(nr0((a+b)/2)>n)
return cautare(a, (a+b)/2-1);
else
return cautare((a+b)/2+1, b);
}
int main ()
{
f >> n;
if(n==0)
{
g << 1;
return 0;
}
int val=cautare(0, NMax);
if(val==0)
{
g << -1;
return 0;
}
while(nr0(val)==n) val--;
g << val+1;
}