Pagini recente » Cod sursa (job #2215544) | Cod sursa (job #1879798) | Cod sursa (job #907066) | Cod sursa (job #1716993) | Cod sursa (job #21748)
Cod sursa(job #21748)
#include<fstream.h>
#include<math.h>
unsigned long fo(unsigned long k) {
if(k/5==0) return 0;
else return k/5+fo(k/5);
}
long gg(unsigned long p) {
if(p==0) return 1;
if(p==5) return -1;
if(p%25==0) return -1;
unsigned long c,n=0,m=5*10;
while(n+5<=m) {
c=(m+n)/2-((m+n)/2)%5;
if(fo(c)<p) n=c+5;
if(fo(c)>p) m=c-5;
if(fo(c)==p) n=m+5;
}
return c;
}
main() {
unsigned long p;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
g<<gg(p);
return 0;
}