Cod sursa(job #388415)
| Utilizator | Data | 30 ianuarie 2010 09:58:56 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<iostream>
#include<fstream.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long st,dr,p,mij,ct,i,aux;
int main()
{
fin>>p;
st=0;
dr=200000000;
while(st<dr)
{
mij=(st+dr)/2;
aux=mij;
while(aux!=0)
{
ct+=aux/5;
aux/=5;
}
if(p>ct)
{
st=mij+1;
ct=0;
}
if(p<ct)
{
dr=mij-1;
ct=0;
}
if(ct==p && p!=5)
{
fout<<mij;
break;
}
}
if(p==5)
fout<<"-1";
return 0;
}
