Cod sursa(job #2954931)

Utilizator AndreibatmanAndrei Croitoriu Andreibatman Data 15 decembrie 2022 19:54:39
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("fact.in");
ofstream fout("fact.out");
int n,d,st,dr,mij,best,nr;
int countzero(int number)
{
    int d=5,ans=0;
    while(d<=number)
    {
        ans+=number/d;
        d*=5;
    }
    return ans;
}
int main()
{
    fin>>n;
    if(n==0)
        fout<<0;
    else
    {
        st=1;
        dr=1e9;
        best=-1;
        while(st<=dr)
        {
            mij=(st+dr)/2;
            nr=countzero(mij);
            if(nr==n)
            {
                best=mij;
                dr=mij-1;
            }
            if(nr>n)
                dr=mij-1;
            if(nr<n)
                st=mij+1;
        }
        fout<<best;
    }
    return 0;
}