Pagini recente » Cod sursa (job #947217) | Cod sursa (job #171881) | Cod sursa (job #2084370) | Cod sursa (job #1330905) | Cod sursa (job #1703119)
#include <cstdio>
using namespace std;
inline long long legendre(long long n){
long long p5=5LL, rez=0LL;
while(p5<=n){
rez+=n/p5;
p5*=5LL;
}
return rez;
}
int main()
{
FILE *fin, *fout;
long long p;
long long pas, rez;
fin=fopen("fact.in", "r");
fscanf(fin, "%lld", &p);
fclose(fin);
for(pas=(1<<30), rez=0; pas>0; pas>>=1)
if(legendre(rez+pas)<p)
rez+=pas;
fout=fopen("fact.out", "w");
if(legendre(rez+1)==p)
fprintf(fout, "%lld\n", rez+1);
else
fprintf(fout, "-1\n");
fclose(fout);
return 0;
}