Cod sursa(job #1435099)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 12 mai 2015 08:48:05
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int i,a,b,mij,x,p,v[15];
int nrzerouri(int k)
{
    int nr=0;
    for(int j=1;j<=11;j++)
        nr=nr+k/v[j];
    return nr;
}
int main()
{
    fin>>p;
    if(p==0)
    {
        fout<<1;
        return 0;
    }
    if(p<0)
    {
        fout<<-1;
        return 0;
    }
    v[0]=1;
    for(i=1;i<=11;i++)
        v[i]=v[i-1]*5;
    a=0;b=99999999;
    while(a!=b)
    {
        mij=(a+b)/2;
        if(nrzerouri(mij)>=p)
            b=mij;
        else
            a=mij+1;
    }
    if(nrzerouri(a)!=p)
    {
        fout<<-1;
        return 0;
    }
    fout<<a;
    return 0;
}