I write a Fibonacci sequence generator for much the same reasons: straightforward math, predictable output, and it requires looping. When it comes time to learn subroutines, I expand it to use a recursive approach to determining if the number is even or odd.
This likewise has the benefit of being expandable to include some simple input, whether it be on the command line or otherwise.
Here's what it would look like if I were writing it in Perl...
#!/usr/bin/perl
use strict;
use warnings;
my $number = 1;
my $limit = 20;
my @list_of_nums;
while ($number < $limit) {
push @list_of_nums, $number;
$number = $number + $list_of_nums[-2];
}
foreach my $item (@list_of_nums) {
if (odd($item) eq 'Odd') {
print "$item is Odd\n";
}
else {
print "$item is Even\n";
}
}
sub even {
my $num = shift @_;
if ($num == 1)
{
return 'Even';
}
else
{
return odd(--$num);
}
}
sub odd {
my $num = shift @_;
if ($num == 1)
{
return 'Odd';
}
else {
return even(--$num);
}
}
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.