Cod sursa(job #2186800)

Utilizator CristyXtremeSimion Cristian CristyXtreme Data 25 martie 2018 22:50:44
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>

using namespace std;

long long int cati_zero_are(long long int x)
{
    long long int nr=0,imp=5;
    while(x>=imp)
    {
        nr+=x/imp;
        imp*=5;
    }
    return nr;
}

int main()
{
    long long int p;
    FILE *f=fopen("factorial.in","r"),*g=fopen("factorial.out","w");
    fscanf(f,"%lli",&p);
    long long int left=1,right=5*p,middle,nr=-1,anti_sigsegv;
    while(left<=right)
    {
        middle=left+(right-left)/2;
        anti_sigsegv=cati_zero_are(middle);
        if(anti_sigsegv==p)
            nr=middle;
        if(anti_sigsegv>=p)
            right=middle-1;
        else
            left=middle+1;
    }

    fprintf(g,"%lli",nr);
    return 0;
}