Pagini recente » Cod sursa (job #1405997) | Cod sursa (job #479896) | Cod sursa (job #2812765) | Cod sursa (job #1112657) | Cod sursa (job #1023138)
#include<iostream>
#include<fstream>
using namespace std;
int check( int x)
{
int nr = 0;
while(x)
{
nr += x / 5;
x /= 5;
}
return nr;
}
long long power( int k)
{
if( k == 1)
return 10;
if( k == 0)
return 1;
if( k % 2)
return 10 * power( k - 1);
else
{
long long x = power( k / 2);
return x * x;
}
}
int binary_search(int n, int x)
{
long long i, pas=1<<19;
for(i = 0; pas; pas >>= 1)
if(i + pas < n && check( i + pas) < x)
i += pas;
if( check( i + 1) == x)
return i + 1;
return -1;
}
int main()
{
ifstream f( "fact.in");
ofstream g( "fact.out");
long long k, j;
f >> k;
j = power( k - 1);
g<< binary_search( 5 * j, k);
}