Cod sursa(job #1241006)

Utilizator DANUTSEBASTIANPintilie Danut Sebastian DANUTSEBASTIAN Data 12 octombrie 2014 14:29:08
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb

#include <fstream>

using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");

int x,s,p;
int check(int x)
{
    int s=0;
    for (int i=5;i<=x;i=i*5)
    {
        s=s+x/i;
    }
    return s;
}
int main()
{
fin>>p;
    int st=1,sol=-1;
    int dr=500000000;
    while(st<=dr)
    {
        int mij=(st+dr)/2;
        int k=check(mij);
        if (k>p)
            dr=mij-1;
        else
        if(k<p)
            st=mij+1;
            else if(k==p)
            {
                sol=mij;
                break;
            }

    }
    while( sol>=0 and sol %5!=0 )
            sol--;
            if(sol==0)
            sol=1;




    fout<<sol;
    return 0;
}