Cod sursa(job #2276117)

Utilizator hutanuHutanu Andrei hutanu Data 4 noiembrie 2018 10:49:04
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
    int p,n,st,dr,m,cm,nr,y;
    fin>>p;
    nr=0;
    y=5;
    st=1;
    dr=2e9;
    while(st<=dr)
    {
        m=(st+dr)/2;
        nr=0;
        cm=m;
        y=5;
        while(y<=cm)
        {
            nr=nr+cm/y;
            y=y*5;
        }
        if(nr<p)
            st=m+1;
        else
            dr=m-1;

    }
    nr = 0;
    y = 5;
    while(y<=st)
    {
        nr=nr+st/y;
        y=y*5;
    }
    if(nr==p)
        fout<<st;
    else
        fout<<-1;
    return 0;
}