Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Drunk on golf: 99 Bottles of Beer

by primo (Beadle)
on May 23, 2016 at 07:15 UTC ( #1163844=note: print w/replies, xml ) Need Help??


in reply to Drunk on golf: 99 Bottles of Beer

phpGolf seems to have reached the end of its life cycle. My 172 byte solution was the following:

<?for(;100>$a=1+$a." bottle$o[21] of beer";$o=" Take one down and pass it around, $b. ".$g="$b, $a.$o")$b="$a on the wall";echo"$g Go to the store and buy some more, $b.";

Replies are listed 'Best First'.
Re^2: Drunk on golf: 99 Bottles of Beer
by eyepopslikeamosquito (Chancellor) on May 23, 2016 at 10:22 UTC

    Thanks for sharing your solution, and for reminding me of the good old days on the PHP golf course. After digging out my old notes, I can finally share my PHP solutions too.

    I had many different 173 strokers, such as (without bothering to use the routine PHP bitwise ~ golfing trick to reduce the " on the wall" strings below by one char):

    <?for(;$c=($b=++$n." bottle$s of beer")." on the wall",99^$x="$c, $b. $z$x";$s=s)$z="Take one down and pass it around, $c. ";echo$x."Go to the store and buy some more, $c."; <?for(;$c=($b=++$n." bottle$z[20] of beer")." on the wall",99^$x="$c, +$b. $z$x";)$z="Take one down and pass it around, $c. ";echo$x."Go to the store and buy some more, $c."; <?for(;99^$x=($c=($b=++$n." bottle$x[21] of beer")." on the wall").", +$b. $x";$x="Take one down and pass it around, $c. $x")?><?=$x,"Go to the store and buy some more, $c.";
    I had a mental block and just could not get to 172!

    After I had given up, ToastyX mercifully gave me a hint, and then I finally did get to 172 -- but did not submit either of these two below because I would never have thought of them without ToastyX's hint:

    <?for(;99^$c=($b=++$n." bottle$x[21] of beer")." on the wall";$x=" Take one down and pass it around, $c. $c, $b.$x")?><?="$c, $b.$x Go to the store and buy some more, $c."; <?for(;99^$c=($b=++$n." bottle$s of beer")." on the wall";$s=s)$x=" Take one down and pass it around, $c. $c, $b.$x";echo"$c, $b.$x Go to the store and buy some more, $c.";

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1163844]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2019-10-21 00:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?