Cod sursa(job #385001)

Utilizator remusmpRemus MP remusmp Data 21 ianuarie 2010 21:58:15
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <stdio.h>
//#include <math.h>

int pow5[] = {5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625};

/*int nrzeros(int n)
{
     //int q = (int)(log((long double)n)/1.6094);
     int q = 12;
     int nr = 0;
     int i;
     for (i = 0; i < q; i++)
     {
         nr += (int)(n/pow5[i]);
     }
     return nr;
}*/

int main()
{
    FILE* fin = fopen("factorial.in", "r");
    FILE* fout = fopen("factorial.out", "w");
    int P = 0;
    fscanf(fin, "%d", &P);
    
    int N = 5 * P;
    int Z = 0;//nrzeros(N);
    int D = 0;
    int D1 = 0;
    int D2 = 1;
    
    int done = 0;
    
    while (!done)
    {
          if (P == Z || D2 == D)
          {
                if (D2 == D)
                   N = -1;
                break;
          }
          D2 = D1;
          D1 = D;
          D = Z - P;
          N -= D*5;
          
          //Z = nrzeros(N);
          done = 1;
    }

    fprintf(fout, "%d", N);
    
    fclose(fin);
    fclose(fout);
    
    return 0;
}