Cod sursa(job #2024893)

Utilizator teodor440Teodor Tonghioiu teodor440 Data 21 septembrie 2017 15:14:02
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;
}