Persistent Systems Interview Question

Write a factorial program in C using recursion, some pattern printing programs and some puzzles.