Cod sursa(job #1877067)

Utilizator lessanleonard savu lessan Data 12 februarie 2017 21:36:08
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
using namespace std;
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p,inc,sf,nrzero,i;
    long long mij;
    bool found=false;
    scanf("%d",&p);
    inc = 1;
    sf = p*5;
    if(p==0){
        printf("1");
        return 0;
    }
    while(inc<=sf && !found)
    {
        mij = inc/2+sf/2;
        nrzero=0;
        for(i=5; i<=mij; i*=5)
            nrzero += mij/i;
        if(nrzero < p)
        {
            inc = mij+1;
        }
        else if(nrzero > p)
        {
            sf=mij-1;
        }
        else
        {
            found=true;
            printf("%lld ",mij-mij%5);
        }
    }
    if(!found)
        printf("-1");
    return 0;
}