Cod sursa(job #1467087)

Utilizator StefiPopaPopa Stefana StefiPopa Data 2 august 2015 18:49:44
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <cmath>

using namespace std;

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

double logaritm(int x)
{
    double l;

    l=(log10(x))/(log10(5));

    return l;
}

int main()
{
    int p, n, l1, r, pt=1;
    long double l2;

    fin>>p;

    l1=(int)logaritm(p);

    for(int i=1; i<=l1; i++)
        pt=pt*5;

    r=p-l1+1;

    if(p>=pt && p<(pt+l1-1))
        l1--;

    l2=logaritm(r);

    if(p==0)
        fout << "1";
    else if(p==2)
        fout << "10";
    else if(p==5)
        fout << "-1";
    else
    {
        if(l2==(int)l2)
            fout << "-1";
        else
        {
            n=5*(p-l1);
            fout << n;
        }
    }

    return 0;
}