Cod sursa(job #2987691)
Utilizator | Data | 2 martie 2023 18:11:55 | |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int main()
{
long long p, st=1,dr=INT_MAX, ct=-1, i;
in>>p;
while (st<=dr)
{
long long mij=(st+dr)/2, z=0;
for (i=5;i<=mij;i*=5)
{
z+=mij/i;
}
if(z==p)
{
ct=mij;
dr=mij-1;
}
else if (z<p)
{
st=mij+1;
}
else if (z>p)
{
dr=mij-1;
}
}
out<<ct;
return 0;
}