Cod sursa(job #1671861)

Utilizator Rares09Rares I Rares09 Data 2 aprilie 2016 11:13:24
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int st=1,dr=1000000001,mij,putere,nr;
int puterefinder (int putere)
{
    int a=5,puteref=0;
    while (putere/a)
    {
        puteref+=putere/a;
        a=a*5;
    }
    return puteref;
}
int main ()
{
    fin>>nr;
    if (nr==0) fout<<1;
    else
    {
        while (st<dr)
        {
            mij=(st+dr)/2;
            putere=puterefinder(mij);
            if (putere<nr) st=mij+1;
            else if (putere>nr) dr=mij-1;
            else
            {
                while (mij%5) mij--;
                fout<<mij;
                return 0;
            }
        }
        fout<<-1;
        return 0;
    }
    return 0;
}