Cod sursa(job #1905469)

Utilizator AndreiMaximIonutMaxim Andrei AndreiMaximIonut Data 6 martie 2017 08:28:29
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int nr_zero(int x)
{
    int i,nrz=0;
    if(x<=4) return 0;
    for(i=5; i<=x; i*=5)
        nrz+=(x/i);
    return nrz;

}
int cauta(int st, int dr)
{
    int mij,nr;
    if(st>dr) return -1;
    while(st<=dr)
    {
        mij=(st+dr)/2;
        nr=nr_zero(mij);
        if(nr<p)st=mij+1;
        else if(nr==p)
        {
            int r=mij%5;
            return mij-r;
        }
        else
            dr=mij-1;
    }
}
int main()
{
    int n;
    fin>>p;
    if(p==0)
    {
        fout<<1;
        return 0;
    }
    n=cauta(1,2000000000);
    fout<<n;
    return 0;
}