Cod sursa(job #2138550)

Utilizator razvancirsteaRazvan Cirstea razvancirstea Data 21 februarie 2018 18:41:41
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

int factorial(int n)
{
    long long s=0;
    while (n>=5)
    {
        s=s+n/5;
        n=n/5;
    }
    return s;
}

int cautare_binara(int n)
{
    int st=0,m,dr=1000000000;
    while (st<dr)
    {
        m=(st+dr)/2;
        if (factorial(m)>n)
        {
            dr=m;
        }
        else st=m+1;
    }
    st=st-5;
    return st;
}

unsigned long long n,x,y,m,j,b,i,c,u,k,z,l,t[1001],a,p,v[1001],ok=0,d,r,s=1;

int main()
{
    f>>p;
    if (p==0)
    {
        g<<1;
    }
    else
    {
        if (factorial(cautare_binara(p))!=p)
        {
            g<<-1;
        }
        else g<<cautare_binara(p);
    }
}