Cod sursa(job #2578202)
Utilizator | Data | 10 martie 2020 18:54:33 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int nrciffact(int n)
{
int s=0;
for (int i=5; i<=n; i*=5) s+=n/i;
return s;
}
int main()
{
int p;
in>>p;
if (p==0)
{
out<<1;
return 0;
}
int sf=INT_MAX,inc=0,mij;
while (inc<sf)
{
mij=(inc+sf)/2;
int x=nrciffact(mij);
if (x<p) inc=mij+1;
else sf=mij;
}
out<<inc;
}