Cod sursa(job #1569195)
Utilizator | Andrei Cotor Andrei_Cotor | Data | 15 ianuarie 2016 08:46:51 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream fi("fact.in");
ofstream fo("fact.out");
int p,st,dr,m;
int verificare(int nr)
{
int c=0;
int x=5;
while(nr/x>0)
{
c=c+nr/x;
x=x*5;
}
return c;
}
int main()
{
fi>>p;
st=1;
dr=p*5;
while(st<=dr)
{
m=(st+dr)/2;
if(verificare(m)<p)
st=m+1;
else
dr=m-1;
}
if(verificare(st)==p)
fo<<st;
else
fo<<-1;
fi.close();
fo.close();
return 0;
}