Cod sursa(job #1726096)

Utilizator tudoroprisTudor Opris tudoropris Data 7 iulie 2016 12:22:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;

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

int p,n=1;
int nr0(int n)
{
    int nr=0;
    while(n>1)
    {
        nr+=n/5;
        n/=5;
    }
    return nr;
}
int cautbin(int l, int r, int x)
{
    int m,rez;
    while(l<=r)
    {
        m=(l+r)/2;
        if(x<=nr0(m))
        {
            r=m-1;
            rez=m;
        }
        else l=m+1;
    }
    return rez;
}

int main()
{
    in>>p;
    while(nr0(n)<p)n*=2;
    n=cautbin(n/2,n,p);
    if(!n)n++;
    if(nr0(n)==p)out<<n;
    else out<<"-1";
    return 0;
}