Ok, now I am assuming that you just spent the last hour or so at that website, but you are back. If you are into Java, one of the most interesting solutions is one that eschews typical control structures (for/while/do loops) and instead uses Java's exception system to sing the song. Actually the way that I came across the site was from an email sent by one of my colleagues. He was amused by the exception based solution. I was amused, too. Obviously such code will perform exceptionally bad (pun intended.)
One of my friends was inspired to do a Python variant that used the same technique:
#! /usr/bin/env python
def __init__(self, i, c):
self.cause = c
self.cnt = i
a = 1/(99-i)
raise BottleException(i+1, self)
print("%d Bottle(s) of beer on the wall, %d Bottle(s) of beer" % (self.cnt, self.cnt))
print("Take one down and pass it around,")
print("%d Bottle(s) of beer on the wall" % (self.cnt - 1))
raise BottleException(1, None)
except Exception, e:
He and I are both pure hackers when it comes to Python, so there are probably numerous improvements that can be done to that code.
Update: I submitted the Python code to the 99 Bottles of Beer site and they accepted it. You can view it here.