Cod sursa(job #2194757)

Utilizator andaraluca2001Anda Epure andaraluca2001 Data 14 aprilie 2018 12:51:37
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;

int nz(int x)
{
    int ans=0,p5=5;

    while(x>=p5)
    {
        ans+=x/p5;
        p5*=p5;
    }

    return ans;
}
int main()
{
    ifstream in("fact.in");
    ofstream out("fact.out");

    int p;
    in>>p;

    int st=1, dr=5*p;

    while(st<=dr)
    {
        int mij=(st+dr)/2;
        if(nz(mij)<p) st=mij+1;
        else dr=mij-1;
    }

    if(nz(st)==p) out<<st;
    else out<<"-1";
    return 0;
}