Cod sursa(job #1437932)

Utilizator george.stefanGeorge Stefan george.stefan Data 18 mai 2015 20:32:45
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    /*
       (p-5)%6==0 => -1
       N=5^x=> p-i=-1 ptr i=1:x-1;
        in rest -> +5 in poz != -1

    */
    FILE *f=fopen("fact.in","rt");
    FILE *g=fopen("fact.out","wt");

    long *v;

    long long i,p,j;

   fscanf(f,"%lld",&p);

    v=calloc(100000000,sizeof(*v));

    v[0]=1;

   /* for(i=1;i<=11;i++)
    {
        p=1;
        for(j=0;j<i;j++)
            p*=5;
        v[p]=-1;

        for(j=1;j<i-1;j++)
            v[p-j]=-1;
    }
*/
    j=5;

    for(i=1;i<p+1;i++)
    {
        if((i-5)%6==0)
            v[i]=-1;

       if(v[i]!=-1)
       {
           v[i]+=j;
           j+=5;
       }
    }
    printf("%d\n",v[p]);
    /*
    j=1;

    i=5;

    while(i<100000000)
    {
        if(i%25==0)
        {
            v[j+1]=i;
            if(v[j+1]==p)
                i=100000001;
            j++;
        }
        else
        {
            v[j]=i;
            if(v[j]==p)
                i=100000001;
        }

        j++;
        i+=5;

    }

    if(v[p])
        {
            fprintf(g,"%lld",v[p]);
            printf("%lld",v[p]);
        }
    else
    {
        fprintf(g,"-1");
        printf("-1");
    }
    for(i=0;i<100;i++)
    printf(" %d\n",v[i]);

    */


    return 0;
}