Pagini recente » Cod sursa (job #346787) | Cod sursa (job #63729) | Cod sursa (job #3257461) | Cod sursa (job #303513) | Cod sursa (job #2157075)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long z=1, p;
struct puteride5
{
unsigned long long numar;
long long exponent;
};
puteride5 v[100000001];
int desc(int n)
{
int exp=0;
while(n%5==0)
exp++, n/=5;
return exp;
}
int cautabinar()
{
int i=1, j=z, m;
while(i<=j)
{
m=(i+j)/2;
if(v[m].exponent==p)
return m;
if(p<v[m].exponent)
j=m-1;
if(p>v[m].exponent)
i=m+1;
}
return -1;
}
int main()
{
long long n, i, j, poz;
f>>p;
for(i=5; i<=100000000; i+=5)
v[++z].numar=i, v[z].exponent+=desc(i)+v[z-1].exponent;
v[1].exponent=0, v[1].numar=1;
poz=cautabinar();
g<<v[poz].numar;
return 0;
}