Cod sursa(job #1223082)

Utilizator pentrusandaPentru Sanda pentrusanda Data 25 august 2014 14:01:48
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <cstdio>

using namespace std;

int n,sol,puteri[15];

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

    scanf("%d",&n);

    puteri[1]=5;
    for (int i=2;i<=13;++i) puteri[i]=puteri[i-1]*5;

    int i=1,j=500000000;

    while (i<j)
    {
        int m=(i+j)/2;
        int sol1=0;
        for (int v=1;v<=13;++v)
        {
            sol1+=(m/puteri[v]);
        }
        if (sol1<n)
        {
            i=m+1;
        }else
        {
            j=m;
        }
    }

        int sol=0;
        for (int v=1;v<=13;++v)
        {
            sol+=(i/puteri[v]);
        }
        if (sol==n) printf("%d",i);else printf("-1");

    fclose(stdin);
    fclose(stdout);
    return 0;
}