Brian's suggestion does not actually implement reCAPTCHA. However, it rather cleverly simulates it with a psychological trick that might be just fine for many applications, IMHO.
Psychological trick? We are trying to weed out robots, there is zero psychology needed. Having a required checkbox will stop only the most basic bots, if at all.
I like Scott's suggestion.
The other way is to add a simple maths sum such as 2 x 2. This was posted years ago.
The simple math has been defeated for years, it doesn't take much for a robot to learn to look for math equations and solve them.
These suggestions might be ok for a low-traffic contact form, but are not much use on anything with more than a couple hundred visitors a month.
So far with what CoffeeCup has provided us, the best method I've found is to use a combination of a required checkbox with the I'm not a robot option, that then unhides via display rules a regex field that only accepts a certain word, with a hint to the user containing the word to be typed in.