Cod sursa(job #2421003)
| Utilizator | Data | 13 mai 2019 20:01:30 | |
|---|---|---|---|
| Problema | Factorial | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out")
long long int legendre(long long int x)
{
long long int sum=0;
x/=5;
while (x>0)
{
sum+=x;
x/=5;
}
return sum;
}
int main()
{
long long int prev=1,next=100000000,mid;
long long int p;
cin >> p;
while (prev<next)
{
mid=(prev+next)/2;
if(legendre(mid)==p && legendre(mid-1)!=p)
break;
if(legendre(mid)<p)
prev=mid;
else
next=mid;
}
if(legendre(prev)==p)
mid=prev;
cout << mid;
return 0;
}
