Cod sursa(job #2186789)

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

using namespace std;

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

int main()
{
    int p;
    FILE *f=fopen("factorial.in","r"),*g=fopen("factorial.out","w");
    fscanf(f,"%i",&p);
    int left=1,right=5*p,middle,nr,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,"%i",nr);
    return 0;
}