Pagini recente » Cod sursa (job #2355597) | Cod sursa (job #2177398) | Cod sursa (job #870580) | Cod sursa (job #1020406) | Cod sursa (job #2454320)
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long five( long long n){
int nr = 0;
while( n%5 == 0 ){
nr++;
n = n/5;
}
return nr;
}
long long fact( int n ){
long long p = 1;
int i;
for( i = 2; i <= n; i++ )
p = p*i;
return p;
}
long long binarysearch(int n, int p){
long long lo, hi, mid;
lo = 0;
hi = n+1;
while ( hi - lo > 1){
mid =( lo + hi ) /2;
if ( five(fact(mid)) > p )
hi = mid;
else
lo = mid;
}
return lo;
}
int main(){
int p, nr = 1, i;
f >> p;
if ( p == 0 ){
g << 1;
return 0;
}
p = binarysearch(5*p, p);
g << p;
}