Cod sursa(job #2023695)

Utilizator octav1234Pocola Tudor Octavian octav1234 Data 19 septembrie 2017 12:43:32
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fi("fact.in");
ofstream fo("fact.out");

int N;
int f(int n)
{
    int d=5;
    int rez=0;
    while(d<=n)
    {
        rez+=n/d;
        d*=5;
    }
    return rez;
}

int bs(int st,int dr,int val)
{
    if(st==dr)
    {
        if(f(st)==val)
            return st;
        else
            return -1;
    }
    int mij=(st+dr)/2;
    if(f(mij)<val)
        return bs(mij+1,dr,val);
    else
        return bs(st,mij,val);
}

int main()
{
    fi>>N;
    if(N==0)
        fo<<"1";
    else
        fo<<bs(0,1000000000,N);
    return 0;
}