Cod sursa(job #2418551)
Utilizator | Data | 5 mai 2019 14:24:46 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int p,st=1,dr=100000000*5+5,mij,x,zerouri,i;
int main()
{
in>>p;
while (st<dr)
{
mij=(st+dr)/2;
zerouri=0;
x=log2(mij*1.0)/log2(5.0);
for (i=1;i<=x;++i) zerouri+=mij/round(pow(5,i));
if (zerouri<p) st=mij+1;
else dr=mij;
}
out<<dr;
}