Cod sursa(job #1268827)

Utilizator DavidDragulinDragulin David DavidDragulin Data 21 noiembrie 2014 15:51:42
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p2,mij,div5,i;
int p1=1,n;

            int factorial(int x){
    int divv = 0;
    int i;
    for(i=5;i<=x;i=i*5)
        divv=divv+x/i;
    return divv;
}
int main()
{
            p2=2147483646;
            fin>>n;
if(n==0)fout<<1;
else{

    while(p2-p1>1)
    {  mij=(p1+p2)/ 2;
    div5=factorial(mij);
    if(div5>=n)p2=mij;
    else p1=mij;

    }


 if (factorial (p1)==n)
        fout<<p1;
        else
        if (factorial (p2) == n)
            fout<<p2;
            else
            fout<<-1;}
        fin.close();
        fout.close();
    return 0;
}