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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|