Cod sursa(job #1284895)

Utilizator YahweIon Alexandru Yahwe Data 6 decembrie 2014 22:05:47
Problema Factorial Scor 90
Compilator c Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
#include <stdlib.h>
int cifre(int x)
{
    int k=0;
    while(x)
    {
        k=k+x/5;
        x=x/5;
    }
return k;
}
int binar(int st,int dr,int p)
{
    if(st==dr) return 0;
    if(cifre((st+dr)/2)>p) return binar(st,(st+dr)/2,p);
    if(cifre((st+dr)/2)<p) return binar((st+dr)/2+1,dr,p);
    return ((st+dr)/2)-((st+dr)/2)%5;
}
int main()
{
    FILE *in,*out;
    int p,n;
    in=fopen("fact.in","r");
    out=fopen("fact.out","w");
    fscanf(in,"%d",&p);
    if(binar(0,5*p,p)) n=binar(0,5*p,p);
    else n=-1;
    fprintf(out,"%d",n);
    return 0;
}