Cod sursa(job #3184517)
Utilizator | Data | 16 decembrie 2023 10:28:16 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
int INF=5e8;
int nr0(int n)
{
int s=0;
int p=5;
while(n>=p)
{
s=s+n/p;
p*=5;
}
return s;
}
int main()
{
int n;
cin>>n;
int st=1;
int dr=INF;
int rez=-1;
while(st<=dr)
{
int mid=(st+dr)/2;
if(nr0(mid)==n)
{
dr=mid-1;
rez=mid;
}
else if(nr0(mid)>n)
{
dr=mid-1;
}
else{
st=mid+1;
}
}
cout<<rez;
return 0;
}