Cod sursa(job #1245913)

Utilizator Vlad_317Vlad Panait Vlad_317 Data 20 octombrie 2014 11:09:29
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

using namespace std;

int p;

long long count_dem_zeros (long long a)
{
    long long i=5,nr=0;
    while(i<=a)
    {
        nr+=a/i;
        i*=5;
    }
    return nr;
}

long long cb(long long x)
{
    long long i=0,pas=2<<25;
    while(pas!=0)
    {
        if(count_dem_zeros(i+pas)<x)
            i+=pas;
        pas>>=1;
    }
    return i+1;
}

int main()
{
    FILE *fin,*fout;

    fin=fopen("fact.in","r");
    fout=fopen("fact.out","w");

    long long nr;

    fscanf(fin,"%d",&p);

    nr=cb(p);
    if(count_dem_zeros(nr)==p)
        fprintf(fout,"%d\n",nr);
    else fprintf(fout,"-1\n");

    return 0;
}