Cod sursa(job #1453996)
| Utilizator | Data | 25 iunie 2015 11:31:04 | |
|---|---|---|---|
| Problema | Factorial | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include<fstream>
using namespace std;
long long p,mij,sum,x;
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
if(p==5)
{
g<<"-1";
return 0;
}
if(p==0)
{
g<<"1";
return 0;
}
long long limS=4*p-1;
long long limD=5*p+1;
while(limD-limS!=1)
{
mij=(limD+limS)/2;
x=mij;
sum=0;
while(x>1)
{
x/=5;
sum+=x;
}
if(sum==p)
{
g<<mij;
return 0;
}
else if(sum<p)limS=mij;
else limD=mij;
}
return 0;
}
