Cod sursa(job #2988747)

Utilizator robert111Peter Robert robert111 Data 5 martie 2023 14:00:52
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <climits>

using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
int nr0(int a)
{
    int cnt=0,p=5;
    while(a>=p)
    {
        cnt+=a/p;
        p*=5;
    }
    return cnt;
}
int main()
{
    int n,st=0,dr=INT_MAX-1,m,ok=0;
    cin>>n;
    if(n<0)
    {
        cout<<-1;
        return 0;
    }
    if(n==0){
        cout<<1;return 0;}
    while(st<=dr)
    {
        m=(st+dr)/2;
        int m1=nr0(m);
        if(m1==n){
        break;ok=1;}
        else if(m1<n)
            st=m+1;
        else
            dr=m-1;
    }
    m=m-m%5;
    if(ok==0)
    cout<<m;
    else
        cout<<-1;
    return 0;
}