Pagini recente » Cod sursa (job #1961097) | Cod sursa (job #1305720) | Cod sursa (job #1144874) | Cod sursa (job #2331064) | Cod sursa (job #611547)
Cod sursa(job #611547)
#include <fstream>
std::ifstream f;
std::ofstream g;
int n_zero(int n){
int x=5,p=0;
while(n/x>0){p+=n/x;x*=5;}
return p;
}
int cb(int p){
int st=1,dr=0x17d78410,mid,k,min=dr;
while(st<=dr){
mid=(st+dr)/2;
k=n_zero(mid);
if(p>k)st=mid+1;else dr=mid-1;
if(k==p&&mid<min)min=mid; };
return min;
}
int main(){
int p,n;
f.open("fact.in");
g.open("fact.out");
f>>p;
n=cb(p);
g<<(n_zero(n)==p?n:-1);
f.close();
g.close();
}