Ok, I changed all of my "long double" to "unsigned long". I left the %d in my printf statement like you said (for use with "unsigned long").

But now I get a "runtime error" after "Start Recursion!" gets to 1. If I click "ignore" it gives me another popup error "R6002 - floating point not loaded" & I click ignore again. Then it prints the same thing on my "dos" window & the program ends.

I understand that "answer" is not initialized the FIRST time the function is called, but shouldn't it already be initialized for the recursive calls?

I think I'm not understanding something about how recursion works... :-(

mw