Cod sursa(job #932273)

Utilizator costyrazvyTudor Costin Razvan costyrazvy Data 28 martie 2013 20:06:20
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;
long long n,p,i,put;
long long pow(long long x,long long put)
{ long long i; long long y=x; x=1;
    for (i=1;i<=put;++i)
             x*=y;
           return x;
}
long long caut(long long n)
{
    long long st,dr,mij,i,p;
    st=1;dr=pow(10,8);mij=(st+dr)/2;
    while (st<=dr && mij>0)
    {p=0;
        mij=(st+dr)/2;
        for (i=1;i<=8;i++)
        p+=(long long)(mij/(pow(5,i)));
        if (p==n) return mij;
        if (p<n) st=mij+1;
        if (p>n) dr=mij-1;
    }
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>n;p=caut(n);
    for (i=1;i<=8;++i) put+=(long long)(p/(pow(5,i)));
    if (put!=n) g<<"-1"; else
    g<<p-p%5;
    f.close();
    g.close();
    return 0;
}