Cod sursa(job #2935821)
Utilizator | Data | 7 noiembrie 2022 16:24:31 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
unsigned long long p,q,sol=0,st,dr,s=0,mij,i,n;
fin>>n;
q=5000000000;
st=1;
dr=q;
while(st<=dr)
{s=0;
mij=(st+dr)/2;p=1;
for(i=1;i<=20;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;
}