Cod sursa(job #969050)
Utilizator | Casu-Pop Andrei andy1496 | Data | 3 iulie 2013 13:26:30 |
---|---|---|---|
Problema | Factorial | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <cstdio>
using namespace std;
int f(long long k) {
long long nr=0;
while (k/5!=0) {
nr=nr+k/5;
k=k/5;
}
return nr;
}
int main(){
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
long long n, i, j,c,a=0,b=10000000000,p;
scanf ("%lld", &p);
//printf ("%lld", f(15));
c=(a+b)/2;
while (f(c)!=p) {
if (f(c)<p) {
a=c+5;
}
else {
b=c-5;
}
c=(a+b)/2;
if (a==b) {printf ("%d", -1); break; break;}
}
if (c%5==0) {printf ("%lld", c);}
return 0;
}