#include <stdio.h> void Print_Factorial(const int N); int main() { int N; scanf("%d", &N); Print_Factorial(N); return 0; } void Print_Factorial(const int N) { if (N < 0) { printf("Invalid input\n"); return; } int d[40000]; d[0] = 1; int t = 0, tmp = 0, carry = 0; for (int i = 1; i <= N; i++) { for (int j = 0; j <= t; j++) { tmp = d[j] * i + carry; d[j] = tmp % 10; carry = tmp / 10; } while (carry != 0) { d[++t] = carry % 10; carry /= 10; } } for (int i = t; i >= 0; i--) { printf("%d", d[i]); } printf("\n"); }