Cod sursa(job #1375936)
Utilizator | Data | 5 martie 2015 15:08:01 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int st=1,dr=1<<30,mid,sol;
int cifre(int x)
{
int i=5,y=0;
while (i<=x) {
y+=x/i;
i*=5;
}
return y;
}
int main()
{
int i,j;
f>>i;
while (st<=dr) {
mid=(st+dr)>>1;
j=cifre(mid);
if (j>=i) {
sol=mid;
dr=mid-1;
}
else
st=mid+1;
}
g<<sol<<'\n';
return 0;
}