Pagini recente » Cod sursa (job #3038433) | Cod sursa (job #2374809) | Cod sursa (job #2387255) | Cod sursa (job #3167002) | Cod sursa (job #96063)
Cod sursa(job #96063)
#include <fstream.h>
typedef unsigned long int longplus;
longplus x,t,i;
longplus zero(longplus n){
longplus cinci=5, sum=0;
if (n==0) return 1;
if (n<5) return 0;
while (cinci<=n) {
sum+=n /cinci;
if (cinci>0xffffffff/5) break;
cinci*=5;
}
return sum;
}
longplus cauta(longplus p, longplus u){
longplus m;
if (p>u) return p;
m=(p+u)/2;
if (zero(m)>=x) return cauta(p,m-1);
else return cauta(m+1,u);
}
int main(){
ifstream f("fact.in");
f>>x;
f.close();
ofstream g("fact.out");
t=cauta(1,4000000000)-5;
for (i=t;i<=t+10;i++)
if (zero(i)==x) break;
if (x==0) g<<1;
else if (x<5) g<<0;
else g<<i;
g.close();
return 0;
}