unsigned long long int factorial(unsigned int n) { unsigned long long int res = 1; unsigned int i = 2; while (i <= n) { res *= i; i++; /* or i = i + 1; */ } return res; } /* === */ unsigned long long int factorial(unsigned int n) { unsigned long long int res = 1; unsigned int i = 2; while (i <= n) { res *= i++; } return res; }