Cod sursa(job #2256662)

Utilizator RadutaLaviniaElenaRaduta Lavinia Elena RadutaLaviniaElena Data 8 octombrie 2018 22:09:33
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

int cb(int p)
{
    int st=1,dr=100000000;
    while(st<=dr)
    {
        int m=(st+dr)/2,k=0,i,c;
        for(i=5;i<=m;i+=5)
        {
            c=i;
            while(c%5==0){c=c/5; k++;}
        }
        if(k == p)return m;
        else
            if(k < p)st=m+1;
            else
                dr=m-1;
    }
    return -1;
}

int main()
{
    ifstream fin("fact.in");
    ofstream fout("fact.out");
    int p,nr,ok=1; fin>>p;
    nr=cb(p);
    if(nr==-1)fout<<-1;
    else
    {
     while(ok==1)
     {
        nr--; int i,c,k=0;
        for(i=5;i<=nr;i+=5)
        {
          c=i;
          while(c%5==0){c=c/5; k++;}
        }
        if(k < p)ok=0;
     }
     fout<<nr+1;
    }
    return 0;
}