in reply to Terse Code for Odd Numbers

Not to be completely rude here, but...

My employer recently asked me to take a test to gauge my coding ability... And I was absolutely delighted to see a section in which I could choose the language to solve the problem. I chose Perl, of course. Now... The task is to print all of the odd numbers between 1 and 13. Here's what I tried:

If the test is to judge your coding ability, shouldn't you work on your own answers?

(now, if it specifically states that it's an open reference test, and it's to judge your skill in overall ability to get the job done, and not just coding, it's okay, though)

Update: Well, if it's already done, I'd use one of the following, depending on the rest of the scope of the problem, as 'better' is a subjective thing

# better for speed print "1\n3\n5\n7\n9\n11\n13\n"; # better for clarity print "$_\n" foreach qw(1 3 5 7 9 11 13); # better if you like C for ( my $i = 1; $i < 14; $i += 2 ) { print "$i\n"; } # better if you like walking backwards for ( my $i = 13; $i > 0; $i-=2 ) { print "$i\n"; } # better if you like while loops my $i = 1; do { print "$i\n"; } while ( ($i+=2) < 14 ); # better if you like join print join("\n", qw(1 3 5 7 9 11 13), ''); # better if you like map print map { "$_\n" } qw(1 3 5 7 9 11 13); # better if you like printf printf ("%i\n", $_) foreach qw(1 3 5 7 9 11 13); # better if you don't like hard coding odd numbers print map { "$_\n" } grep { $_ % 2 } ( 1 .. 13); # better if you don't like white space. print(join':',grep{$_%2}(1..13)); # better if you don't assume things # (like 'don't print even numbers') print map { "$_\n" } (1..13); # better if you like strings print "@{[grep{$_%2}(1..13)]}\n";

etc, etc, etc.

Replies are listed 'Best First'.
Re^2: Terse Code for Odd Numbers
by deep submerge (Scribe) on May 13, 2005 at 20:31 UTC
    Uhh yeah I didn't mean to misleading but I took the test already and was just looking for a better answer. Sorry.
      Was said test asking for the shortest possible answer or simply testing your coding ability? Not to be pedantic, they aren't the same. Those of us who have to communicate with other programmers, write or maintain code, or teach, may disagree with your concept of 'better answer'.

      I'd prefer a three line solution above that used a foreach simply for readability.

      --
      jpg
        I have no votes left today, but ++ for jpeg's answer above. I was about to say "golfing an obfuscated answer probably wouldn't be a good idea", though of course it is FUN! :) But since this is just as an exercise and not for the test anymore, golf away!
Re^2: Terse Code for Odd Numbers
by mrborisguy (Hermit) on May 13, 2005 at 20:25 UTC
    i'm gonna guess that he already took the test, but it's over now. and now is just wondering about something that struck him while taking it.
    if not... whooooops!