Cod sursa(job #1874457)
Utilizator | Data | 9 februarie 2017 23:58:35 | |
---|---|---|---|
Problema | Factorial | Scor | 55 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
long long a,b,n,k,x,v[200001],i,j,p,mid,dr,st,s,z,alfa;
int main(){
in>>p;
st=1;
dr=p*5;
alfa=-1;
while(st<=dr){
mid=(dr+st)/2;
s=0;
for(i=5;i<=mid;i=i*5){
s=s+mid/i;
}
if(s<p){
st=mid+1;
}
if(s>=p){
dr=mid-1;
}
}
if(s==p)
out<<st;
else
out<<alfa;
return 0;
}