[ create a new paste ] login | about

Link: http://codepad.org/6S9o89xk    [ raw code | output | fork ]

C, pasted on Jun 27:
#include <stdio.h>
#define NN 10000

void f(int n)
{
    static int s[NN] = { 0 }, fg = 0;
    int i;

    if (n == 1) {
	for (i = NN - 1; s[i] == 0; i--);
	fg = i;
	for (; i >= 0; i--)
	    printf("%d", s[i]);
	printf("  %d\n", fg);
	return;
    }
    if (fg == 0) {
	s[1] = 1;
	fg = 1;
    }
    for (i = 0; i < NN; i++)
	s[i] *= n;
    for (i = 0; i < NN - 1; i++) {
	s[i + 1] += s[i] / 10;
	s[i] %= 10;
    }
    f(n - 1);
    return;
}

int main(void)
{
    int n;
    printf("n=");
    scanf("%d", &n);
    f(n);

    return 0;
}


Output:
1
Timeout


Create a new paste based on this one


Comments: