Cod sursa(job #1780559)

Utilizator ZeBuGgErCasapu Andreas ZeBuGgEr Data 16 octombrie 2016 13:14:34
Problema Factorial Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>

using namespace std;

int p;

int nuff0s(int n)
{
    int num0s=0;
    while(n!=0)
    {
        num0s+=n/5;
        n/=5;
    }
    if(num0s>=p)
    {
        return 1;
    }
    return 0;
}

int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);

    scanf("%d",&p);

    int lg[28];
    lg[0]=1;
    for(int i=1;i<28;i++)
    {
        lg[i]=lg[i-1]<<1;
    }

    int nr=0,keep=-1;
    for(int i=27;i>=0;i--)
    {
        if(nuff0s(lg[i]+nr)==0)
        {
            nr+=lg[i];
        }
        else
        {
            keep=nr+lg[i];
        }
    }

    printf("%d",keep);
}