Pagini recente » Cod sursa (job #1815162) | Cod sursa (job #457617) | Cod sursa (job #1837560) | Cod sursa (job #1573166) | Cod sursa (job #1496376)
#include <iostream>
#include<stdio.h>
using namespace std;
#define N 100000000
long long aux,medie,p;
long long nr(int a)
{
int s=0,x=5;
while(a>x)
{
s+=a/x;
x*=5;
}
return s;
}
int minim(int a,int b)
{
return a<b?a:b;
}
int cautare_binara(unsigned long long minim,unsigned long long maxim,int p)
{
if(p==0)
return 1;
aux=nr((minim+maxim)/2);
if(aux==p)
{
aux=(minim+maxim)/2;
aux=aux-aux%5;
return aux;
}
medie=(minim+maxim)/2;
if(aux>p)
return cautare_binara(minim,medie-1,p);
if(aux<p)
return cautare_binara(medie+1,maxim,p);
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
printf("%d\n",cautare_binara(1,N,p));
return 0;
}