Cod sursa(job #544453)

Utilizator fhandreiAndrei Hareza fhandrei Data 1 martie 2011 17:04:12
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.28 kb
#include <stdio.h>
long int n, nr0,i2;
long int i; // Contor
bool ok=true;
FILE *in, *out;
int main(void)
{
    in=fopen("fact.in","rt");
    out=fopen("fact.out","wt");
    fscanf(in, "%ld",&n);
    if(!n)
        fprintf(out, "1");
    else
  {
/*        for(i=0;i<=2000000000;i+=25)
    {
        i2=i;
        while( !(i2%5) && i2 )
        {
            nr0+=6;
            i2/=25;
            if(nr0>=n)
                break;
        }
        if(nr0>=n)
        break;
    }
    if(nr0==n)
            fprintf(out, "%ld",i);
    else
    {
        nr0-=2;
        i-=5;
        if(nr0<n)
            fprintf(out, "-1");
        else if(nr0==n)
            fprintf(out, "%ld",i);
        else
        {
            nr0-=1;
            i-=5; // Aici ajunge '15'
            if(nr0==n)
                fprintf(out, "%ld",i);
            else
            {
                nr0-=1;
                i-=5; // Aici ajunge la '10'
                if(nr0==n)
                    fprintf(out, "%ld",i);
                else fprintf(out, "%ld",i-5);
            }
        }
    }
  }*/


    nr0+=25*(n/6);
    n%=6;
    nr0=nr0+n*5;
    if(n==5)
        fprintf(out, "-1");
    else fprintf(out, "%d",nr0);
  }


    fclose(in);
    fclose(out);
    return 0;
}