Cod sursa(job #2610727)

Utilizator stanbianca611Stan Bianca stanbianca611 Data 5 mai 2020 16:13:53
Problema Factorial Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g ("fact.out");
int n, minn=100000005;;
void cautare_binara(int k, int st, int dr, int& minn)
{
    if(st<=dr)
    {
        int putere=5;
        int mij=(dr-st+1)/2+st;
        int sum=0;
        while(putere<=mij)
        {
            int m=mij;
            sum+=m/putere;
            m=m/putere;
            putere*=5;
        }
        if(sum==k) {if(minn>mij) minn=mij; cautare_binara(k, st, mij-1, minn);;}
        else if (sum>k) cautare_binara(k, st, mij-1, minn);
        else cautare_binara(k, mij+1, dr, minn);
    }
}
int main()
{
    f>>n;
    if(n==0) g<<1;
    else {cautare_binara(n, 0, 5*n, minn); g<<minn;}
    return 0;
}