Cod sursa(job #2791062)

Utilizator petru-robuRobu Petru petru-robu Data 30 octombrie 2021 00:32:58
Problema Factorial Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");


int nr_zero(int n)
{
    int p=0,r=5;
    while(r<=n)
    {
        p=p+n/r;
        r=r*5;
    }
    return p;
}

int main()
{
    int p,n;
    int st=1, dr=100000000;
    fin>>p;
    if(p==0) fout<<1;
    else
    {
        while(st<=dr)
        {
            int mij = (st+dr)/2;
            if(nr_zero(mij)==p)
            {
                n=mij;
                dr=mij-1;
            }
            if(nr_zero(mij)>p)
                dr=mij-1;
            if(nr_zero(mij)<p)
                st=mij+1;
        }
    }
    fout<<n;
}