Pagini recente » Cod sursa (job #1867967) | Cod sursa (job #1601265) | Cod sursa (job #316077) | Cod sursa (job #1583430) | Cod sursa (job #2973574)
#include <fstream>
#include <iostream>
#include <vector>
#define INT_MAX 2147483647
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p,n;
int nr_zerofact(int n){
int p = 5, nr = 0;
while(p<=n)
{
nr+=n/p;
p*=5;
}
return nr;
}
int cb(int p)
{
int ans=-1, numberOfzero;
int st=1, dr=INT_MAX;
while(st<=dr)
{
int mij=(st+dr)/2;
int mij_zero=nr_zerofact(mij);
if(mij_zero>=p)
{
ans=mij;
numberOfzero=mij_zero;
dr=mij-1;
}
else
{
st=mij+1;
}
}
if(numberOfzero!=p)
{
ans=-1;
}
return ans;
}
int main(){
int p;
fin>>p;
fout<<cb(p);
return 0;
}