Cod sursa(job #1002635)

Utilizator CosminnnChirica Cosmin Cosminnn Data 28 septembrie 2013 13:07:29
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <iostream>


using namespace std;

inline void Solve()
{
    int p,st,dr,mij,k,mult;

    FILE *f = fopen("fact.in","r");
    FILE *g = fopen("fact.out","w");

    fscanf(f,"%d ",&p);
    fclose(f);

     if ( !p ) {
        fprintf(g,"%d",1);
        return ;
    }

    st=1;dr=500000000;
    while( st<=dr )
    {
        mij = (st+dr)/2;
        mult = 5;
        k = 0;
        while( mult <= mij )
        {

            k += mij/mult;
            mult *=5;
        }
        if( k== p)break;
        if( k >p )
            dr = mij-1;
        else
            st = mij+1;
    }
    mij = mij - mij%5;



    if(st<=dr)
        fprintf(g,"%d ",mij);
    else
        fprintf(g,"%d ",-1);
    fclose(g);
}

int main()
{
    Solve();
    return 0;
}