Cod sursa(job #719557)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 21 martie 2012 21:11:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
using namespace std;
ifstream q("fact.in");
ofstream w("fact.out");
const int lim = 100000000, lim2= 134217728;
int main()
{
    long i=0,l,P;
    q>>P;
    if(P==0)
    {
        w<<1;
        return 0;
    }
    for(int sum = lim2; sum; sum=sum>>1)
        if(sum+i<=lim)
        {
            long t=0;
            for(int k=5; k<=5*(i+sum); k=k*5)
                t=t+(5*(i+sum))/k;
            if(t<=P)
            {
                i+=sum;
                l=t;
            }
        }
    if(l==P)
        w<<5*i;
    else
        w<<-1;
    return 0;
}