Code Golf. As with the real sport the goal is to reduce the number of strokes that it takes to complete a particular objective, although with Code Golf “strokes” refers to keystrokes rather than swings of a golf club.
You may compete using any language.1
Create an algorithm that prints the 30 first fibonacci number to the screen, each followed by a newline.
An algorithm which could do this would be (148 bytes):
my $a = 1; my $b = 0; my $c; my $limit = 30; my $i = 0; while ($i < $limit) { $i += 1; $c = $a + $b; $a = $b; $b = $c; print $c . "\n"; }
But that can be written way shorter.
My first:
$a=1;for((0..29)){$c=$a+$b;$a=$b;$b=$c;print"$c\n"}
My second:
$a=1;$c=$a+$b,$a=$b,$b=$c,print"$c\n"for 0..29
Noud’s reponse:
$i=1;print$i+=$a,"\n",$a+=$i,"\n"while$i<317811
My revenge:
$a=1;$c=$a+$b,$a=$b,$b=$c,print"$c\n"for 0..29
Noud was 30 seconds later with:
$a=1;print$a+=$b,"\n",$b+=$a,"\n"for 1..15
My latest one: partially by Bram too
print$a+=$b,"\n",$b+=$a,"\n"for$a++..14
Update:Twan:
print$a+=$b,$/,$b+=$a,$/for$a++..14
1. a language that implements fib
returning mysteriously the first 30 fibonacci numbers isn’t allowed.
/* no comment */
right bram? =D
// no comment, indeed.
Thought I have to note ‘My last one’ was not totally his one, crediting Noud’s and maybe my effort.
Our last one, I came with $a++..14. 😛