Cod sursa(job #1803672)

Utilizator Alex.PAlexandru Pacurar Alex.P Data 11 noiembrie 2016 17:57:26
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <stdlib.h>

using namespace std;

int nr0(int n){
    int nr=0;
    int p=5;
    while(p<=n){
        nr+=n/p;
        p*=5;
    }
    return nr;
}

int main()
{
    FILE *fin, *fout;
    int n,p5,p,st,dr,mij,zero;
    fin=fopen("fact.in","r");
    fout=fopen("fact.out","w");
    fscanf(fin,"%d",&p);
    st=1;
    dr=100000000;
    while(st<dr){
        mij=(st+dr)/2;
        zero=nr0(mij);
        if(zero>p)
            dr=mij-1;
        else    if(zero<p)
            st=mij+1;
        else
            st=dr=mij;
    }
    if(nr0(st)!=p)
        fprintf(fout,"-1");
    else
        fprintf(fout,"%d",st);
    fclose(fin);
    fclose(fout);
    return 0;
}