Cod sursa(job #2224567)

Utilizator mihailescu_eduardMihailescu Eduard-Florin mihailescu_eduard Data 24 iulie 2018 15:09:10
Problema Factorial Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

int p;

int check(long long x)
{
    int i,s=0;
    for(i=5;x/i>=1;i=i*5)
    {
        s=s+x/i;
    }
    return s;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    if(p==1)
    {
        printf("%d\n",1);
        return 0;
    }
    long long pas = 1 << 27;
    int k;
    for(k =0; pas ;pas>>=1)
    {
        if(check(k+pas) < p)
            k+=pas;
    }
    printf("%d\n", k+1);
    if(k == 0)
    {
        printf("%d\n",-1);
        return 0;
    }

    fclose(stdin);
    fclose(stdout);

    return 0;
}