Cod sursa(job #2194754)
Utilizator | Data | 14 aprilie 2018 12:48:28 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int nz(int x)
{
int ans = 0, p5=5;
while(x>=p5)
{
ans=ans+(x/p5);
p5*=5;
}
return ans;
}
int main() {
int p;
in>>p;
int st = 1, dr = 5*p;
while(st<=dr)
{
int mijl = (st+dr)/2;
if(nz(mijl)<p) st = mijl+1;
else dr = mijl-1;
}
if(nz(st) == p) out<<st;
return 0;
}