Cod sursa(job #2188502)

Utilizator cmorariMorari Camelia-Maria cmorari Data 27 martie 2018 10:30:31
Problema Factorial Scor 100
Compilator cpp Status done
Runda bpc9 Marime 0.68 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("fact.in","r"),*g=fopen("fact.out","w");
    fscanf(f,"%i",&p);
    if(p==0)
    {
        fprintf(g,"1");
        return 0;
    }
    int left=1,right=5*p,middle,nr=-1;
    while(left<=right)
    {
        middle=left+(right-left)/2;
        if(cati_zero_are(middle)==p)
            nr=middle;
        if(cati_zero_are(middle)>=p)
            right=middle-1;
        else
            left=middle+1;
    }
    fprintf(g,"%i",nr);
    return 0;
}