Cod sursa(job #1415421)

Utilizator WhiteStormPopovici Stefan WhiteStorm Data 4 aprilie 2015 16:00:07
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
/*int DCO5(int x)
{
    int cont=0;
    while(x%5==0)
    {
        x/=5;
        ++cont;
    }
    return cont;
}*/
int DCO5(int n)
{
    int cont=0;
    while(n>5)
    {
        cont+=n/5;
        n/=5;
    }
    return cont;
}
int main()
{
    /*int P,i,rez=0,cont=0;
    in>>P;
    if(P==0)
    {
        out<<1;
        return 0;
    }
    while(cont<P)
    {
        rez+=5;
        cont+=DCO5(rez);
    }
    if(cont==P) out<<rez;
    else out<<-1;*/
    int P,li=2,ls=1000000000,mij,c;
    bool stop=0;
    in>>P;
    if(P==0)
    {
        out<<1;
        return 0;
    }
    while(li<=ls)
    {
        mij=(li+ls)/2;
        c=DCO5(mij);
        if(c==P)
        {
            out<<mij/5*5;
            return 0;
        }
        else if(c>P) ls=mij-1;
        else li=mij+1;
        if(li==ls && stop==0) stop=1;
        if(li==ls && stop==1) break;
    }
    out<<-1;
    return 0;
}