Cod sursa(job #1515488)

Utilizator adu18sptAndrei Mircea adu18spt Data 1 noiembrie 2015 17:41:24
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long int cautbin(unsigned long long int val);
unsigned long long int a[10000001],p,k=25,i,m=1,t=0,x=0,aux;
int main()
{


    fin>>p;
    a[1]=1;
    for(i=2;i<=5000000;i++)
    {
        t=0;
        aux=i;
        while(aux!=0)
        {
            if(aux%5==0)
            {
                t++;
            }
            else{
                break;
            }
            aux=aux/5;
        }
        a[i]=a[i-1]+1+t;
    }

    x=cautbin(p);

    if(a[x]==p)
    {


        fout<<x*5;
    }
    else
    {
        fout<<-1;
    }

}
unsigned long long int cautbin(unsigned long long int val)
{
    unsigned long long int st=1,dr=5000000,mij;

    while(st<=dr)
    {
        mij=(st+dr)/2;
        if(a[mij]>val)
            dr=mij-1;
        else
            st=mij+1;
    }
    return mij;
}