Pagini recente » Cod sursa (job #1771143) | Cod sursa (job #853614) | Cod sursa (job #2389984) | Diferente pentru propuneri/6-arhiva-educationala intre reviziile 1 si 2 | Cod sursa (job #2103134)
#include <fstream>
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long F(long long n)
{
int result=0;
long long exp=5;
while(n>=exp)
{
result+=n/exp;
exp*=5;
}
return result;
}
int main()
{
int N;
f>>N;
if(N==0) g<<1;
else
{
long long m,a=0,b=1000000000;
bool found=0;
while(a+1<b && !found)
{
m=(abs(a-b)>>1)+min(a,b);
if(F(m)<N) a=m+1;
else b=m-1;
if(F(m)==N) found=1;
}
if(found)
{
while(F(m)==N) m--; g<<m+1;
}
else g<<-1;
}
return 0;
}