Cod sursa(job #1383942)

Utilizator sicsicFMI-Coteanu Vlad sicsic Data 10 martie 2015 19:26:13
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,sol;
long long fct(long long a)
{
    long long p5=5,s=0;
    while(p5<=a)
    {
        s+=a/p5;
        p5*=5;
    }
    return s;
}
void src(long long s,long long d)
{
    if(s<=d)
    {
        long long m=(s+d)/2;
        long long x=fct(m);
       // g<<m<<" "<<x<<'\n';
        if(x>p) src(s,m-1);
        else if(x<p) src(m+1,d);
        else
        {
            sol=m;
            src(s,m-1);
        }
    }
}
int main()
{
    f>>p;
    if(p==0)
    {
        g<<"1"<<'\n';
        return 0;
    }
    src(1,10000000000000000);
    if(sol )g<<sol<<'\n';
    else g<<"-1"<<'\n';
    return 0;
}