Cod sursa(job #2344675)
| Utilizator | Data | 15 februarie 2019 14:17:06 | |
|---|---|---|---|
| Problema | Factorial | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int put5 (int n)
{
int nr5=0;
long long p5=5;
while(int(n/p5)>0)
{
nr5=nr5+int(n/p5);
p5=p5*5;
}
return nr5;
}
int main()
{
int ok=1;
long long s,p,st=1,dr=100000000,mij,rasp=-1;
fin>>p;
while(st<dr && ok==1)
{
mij=(st+dr)/2;
if(put5(mij)>p)
dr=mij-1;
if(put5(mij)<p)
st=mij+1;
if(put5(mij)==p)
{
rasp=mij;
ok=0;
}
}
if(p!=0)
fout<<rasp-rasp%5;
else
fout<<1;
return 0;
}
