Cod sursa(job #768088)
Utilizator | Data | 15 iulie 2012 22:21:14 | |
---|---|---|---|
Problema | Factorial | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream>
using namespace std;
long long n,p,p2;
long long prelucreaza(int psi)
{long long result=0;
while(psi)
{psi=psi/5;
result+=psi;}
return result; }
int main()
{
ifstream f("fact.in");
f>>p;
f.close();
long long ni, nf;
ni=1; nf=5*p;
int valid=0;
while(valid==0)
{n=(ni+nf)/2;
n=n-n%5;
p2=prelucreaza(n);
if(p2==p)
valid=1;
else
{if(p2>p)
nf=n;
if(p2<p)
ni=n;}
}
ofstream g("fact.out");
g<<n;
g.close();
return 0;
}