Pagini recente » Cod sursa (job #586008) | Cod sursa (job #946154) | Cod sursa (job #2783567) | Cod sursa (job #300741) | Cod sursa (job #1190020)
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int P,cifre,N=5,k;
int bin(int, int, int);
int put(int);
int main()
{
f>>P;
if (P==0) g<<1;
else
k=bin(0,5*P,P);
if (k==0) g<<-1;
else g<<k;
f.close();g.close();
return 0;
}
int put(int m)
{
int c=5,s=0;
while (c<=m)
{
s+=(m/c);
c*=5;
}
return s;
}
int bin(int a,int b,int P)
{
//cout<<"a="<<a<<" b="<<b<<'\n';
int mij=(a+b)/2;
if (a>b) return 0;
else if (put(mij)==P && mij%5==0) return mij;
else if (put(mij)<P) return bin(mij+1,b,P);
else return bin(a,mij-1,P);
}