Cod sursa(job #2935818)
Utilizator | Data | 7 noiembrie 2022 16:22:42 | |
---|---|---|---|
Problema | Factorial | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
long long p,q,sol=0,st,dr,s=0,mij,i,n;
fin>>n;
q=50000000;
st=1;
dr=q;
while(st<=dr)
{s=0;
mij=(st+dr)/2;p=1;
for(i=1;i<=10;i++)
{p=p*5;
s=s+mij/p;
}if(s==n){sol=mij;dr=mij-1;}
else if(s<n)st=mij+1;
else dr=mij-1;
}if(sol==0)fout<<-1;
else fout<<sol;
return 0;
}