I'm probably not the first to do this, but the other night I started tapping "Lap" on my phone in time to the beat of god-only-remembers what I was listening to and saw that it only takes a few accurate taps to know the exact bpm of the song. PLUS, you can make a game of it with your friend by seeing who keeps better time!!
Simply divide the end time by the number of taps (don't forget to add any that didn't register) and you have seconds-per-beat (divide 1 by spb, multiply result by 60 and you have bpm), which obviously becomes more exact the longer you tap. If you're really hard core, open the results in a spreadsheet to see your lows and highs.
Just for kicks I did Orbital's "Satan" and tapped 344 times in 187.68 seconds which gives a bpm of 110.09 and seconds per beat of .545. My lows were .42, .46 and 4-.47s, highs .64, .63 and 3-.62s, and I had 42 hits that were .54 (12%). My average for just the first 8 taps came to .544.
(Do I have too much time on my hands? )