Cod sursa(job #1768655)
Utilizator | bogdan bancuta bogdi1 | Data | 1 octombrie 2016 12:07:35 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <cstdio>
using namespace std;
long long nr0(int n)
{
long long r=0;
while(n>=5){
r+=n/5;
n/=5;
}
return r;
}
int main()
{ freopen("fact.in", "r",stdin);
freopen("fact.out", "w",stdout);
int p,i,pas;
scanf("%d", &p);
i=0;
pas=1<<30;
while(pas!=0){
if(i+pas<=1073741824 && nr0(i+pas)<p)
i+=pas;
pas/=2;
}
if(nr0(i+1)==p)
printf("%d", i+1);
else
printf("-1");
return 0;
}