Most languages aren't strictly procedural, of course.
int factorial(int n){return (n == 1)?n:factorial(n-1)*n;}