The Apple programmer's challenge: 50 challenging problems to test your programming skills : with solutions in Basic, Pascal, and C