Cod sursa(job #2074487)
Utilizator | Data | 24 noiembrie 2017 17:35:56 | |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
long long f(long long n)
{
long long sol=0;
while(n>0)
{
sol+=n/5;
n/=5;
}
return sol;
}
int main()
{
long long n,r=0,pas=1<<60;
cin>>n;
while(pas)
{
if(f(r+pas)<n)
r+=pas;
pas/=2;
}
if(f(r+1)==n)
cout<<r+1;
else
cout<<-1;
return 0;
}