Cod sursa(job #1610872)

Utilizator Coroian_DavidCoroian David Coroian_David Data 23 februarie 2016 19:44:44
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f,*g;
int x,p;

int zero(int n)
{
    int nr = 0;
    while (n >= 5)
    {
        nr += n / 5;
        n /= 5;
    }
    return nr;
}

int cautzero(int p)
{
    //caut cel mai mare n cu propr ca zero(n) < p -> returnez 1 + n

    int i=0,pas = 1 << 30;
    while(pas != 0)
    {
        if (zero(i+pas) < p)
            i += pas;
        pas /= 2;
    }
    return 1 + i;
}

int main()
{
    f=fopen("fact.in","r");
    g=fopen("fact.out","w");
    fscanf(f,"%d",&p);
    x=cautzero(p);
    if(zero(x) == p)
        fprintf(g,"%d",x);
    else fprintf(g,"-1");
    fclose(f);
    fclose(g);
    return 0;
}