Cod sursa(job #1190020)

Utilizator BogdanisarBurcea Bogdan Madalin Bogdanisar Data 24 mai 2014 12:19:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int P,cifre,N=5,k;

int bin(int, int, int);
int put(int);

int main()
{
    f>>P;
    if (P==0) g<<1;
    else
    k=bin(0,5*P,P);
    if (k==0) g<<-1;
    else g<<k;
    f.close();g.close();
    return 0;
}

int put(int m)
{
    int c=5,s=0;
    while (c<=m)
    {
        s+=(m/c);
        c*=5;
    }
    return s;
}


int bin(int a,int b,int P)
{
    //cout<<"a="<<a<<" b="<<b<<'\n';
    int mij=(a+b)/2;
    if (a>b) return 0;
    else if (put(mij)==P && mij%5==0) return mij;
    else if (put(mij)<P) return bin(mij+1,b,P);
    else return bin(a,mij-1,P);
}