Cod sursa(job #3042159)

Utilizator dan_bugnariuBugnariu Dan dan_bugnariu Data 4 aprilie 2023 11:30:19
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <fstream>
std::ifstream fin("fact.in");
std::ofstream fout("fact.out");

int zeros(unsigned long long n)
{
    int s=0, p=5;
    while(n/p)
    {
        s+=n/p;
        p*=5;
    }
    return s;
}
int main(int argc, char *argv[])
{
    int p;
    fin>>p;
    if(p==0) fout<<1;
    else
    {
        int s=5,d=INT_MAX/2-1;
        int n;
        while(s<=d)
        {
            n=(s+d)/2;
            int z=zeros(n);
            if(z<p) s=n+1;
            else if(z>p) d=n;
            else break;
        }
        n-=n%5;
        fout<<n;
    }

    return 0;
}