Cod sursa(job #2294803)

Utilizator marian013Giugioiu Marian Constantin marian013 Data 2 decembrie 2018 20:08:39
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned long long numar(unsigned long long x){
    unsigned long long nr=0,y=5;
    while(x>=y)
    {
        nr+=x/y;
        y*=5;
    }
    return nr;
}
unsigned long long caut(unsigned long long a,unsigned long long b,unsigned long long x){
    unsigned long long k;
    unsigned long long m;
    unsigned long long y=-1;
    while (a <= b) {
        m = (a + b) / 2;
        k=numar(m);
        if (k == x)
        {
            y=m;
            b = m - 1;
        }
        else if(k < x)
            a = m + 1;
        else
            b = m - 1;
    }
    return y;
}
int main()
{
    unsigned long long n,k;
    f>>n;
    k=caut(1,18446744073709551613,n);
    g<<k;
    return 0;
}