Cod sursa(job #2693081)

Utilizator AndreiStreheStreche Andrei Claudiu AndreiStrehe Data 4 ianuarie 2021 19:06:04
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int p,nrz,st=1,mij,i;
long long dr=1000000005;

int main()
{
    f>>p;

    if(p==0)
    {
        g<<1;
        return 0;
    }
    else
    {
        while(dr-st>1)
        {
            mij=(dr+st+1)/2;

            nrz=0;
            for(i=5;i<=mij;i*=5)
            {
                nrz+=mij/i;
            }

            if(nrz==p)
            {
                g<<mij-mij%5;
                dr=st;
                return 0;
            }
            else if (nrz>p)
            {
                dr=mij;
            }
            else
            {
                st=mij;
            }
        }
    }

        for(i=5;i<=st;i*=5)
        {
            nrz+=st/i;
        }
        if(nrz==p)
        {
            g<<mij-mij%5;
        }
        else
            g<<-1;

    return 0;
}