Cod sursa(job #927331)

Utilizator costyrazvyTudor Costin Razvan costyrazvy Data 25 martie 2013 18:58:08
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
int n,p,i,put;
int pow(int x,int put)
{ int i; int y=x; x=1;
    for (i=1;i<=put;++i)
             x*=y;
           return x;
}
int caut(int n)
{
    int 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+=(int)(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("factorial.in");
    ofstream g("factorial.out");
    f>>n;p=caut(n);
    for (i=1;i<=8;++i) put+=(int)(p/(pow(5,i)));
    if (put!=n) g<<"-1"; else
    g<<p-p%5;
    f.close();
    g.close();
    return 0;
}