Cod sursa(job #189298)

Utilizator ThorRazvan Marinovici Thor Data 13 mai 2008 14:04:59
Problema Factorial Scor 15
Compilator c Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>

unsigned long fact(long nrd)
{
    unsigned long number = 1, nr = 0, first, second;
    do{
        nr++;
        first = (number % 10000) * nr;
        second = (((number / 10000) * nr) % 10000);
        number = second * 10000 + first;
        while ((number % 10) == 0) {
            number /= 10;
            nrd--;
        }
    } while (nrd);
    return nr;
}

int main()
{
    long nrd;
    FILE  *in = fopen("fact.in", "r"),
          *out = fopen("fact.out", "w");
    fscanf(in, "%u", &nrd);
    fprintf(out, "%u", fact(nrd));
    return 0;
}