Cod sursa(job #1959234)

Utilizator pionierul22aNa LiZa pionierul22 Data 9 aprilie 2017 11:22:54
Problema Factorial Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int zero(int x)
{
    int p=5;
    int s=0;
    while(p<=x)
    {
         s=s+x/p;
         p=p*5;
    }
    return s;

}

int main()
{
    fin>>p;
    if(p==0)
       {
            fout<<1;
            return 0;
       }

    int st=1;
    int dr=100000000;
    int z;
    while(st<=dr)
    {
        int mijl=(st+dr)/2;
        z=zero(mijl);
        if(z>=p)
        {

            if(z==p && mijl%5==0)
                {
                    fout<<mijl;
                    return 0;
                }
                else
                dr=mijl-1;
        }
        else
            st=mijl+1;

    }
       return 0;
}