Cod sursa(job #1170120)
| Utilizator | Data | 12 aprilie 2014 18:22:02 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.63 kb |
#include <iostream>
#include <cstdio>
using namespace std;
long long p;
int Nrz(int x){
int p,d;
d = 0; p = 5;
while (x/p)
{
d+=(x/p);
p*=5;
}
return d;
}
int main(){
int st,dr,m,i;
freopen("factorial.in","r",stdin);
freopen("factorial.out","w",stdout);
scanf("%lld",&p);
st = 1; dr = 100; i = -1;
while(st <= dr)
{
m = (st+dr)/2;
if(Nrz(m) < p)
st = m+1;
else if(Nrz(m) > p)
dr = m-1;
else if(Nrz(m) == p)
{i = m;dr=m-1;}
}
printf("%d\n",i);
return 0;
}
