in reply to John Guttag's book - 2nd exercise. My attempt in Perl.
Here's a solution using only if/else, <, and %. No ||, &&, and, or, =, or anything else allowed.
It's sort of silly for something that is a one-liner in normal perl.
( note: the comments following open braces show which variables are still valid at this point.)
#!/usr/bin/perl # http://perlmonks.org/?node_id=1190754 use strict; use warnings; my ($x, $y, $z) = (-11,-13,4); if( $x % 2 ) { # xyz if( $y % 2 ) { # xyz if( $x < $y ) { # yz if( $z % 2 ) { # yz if( $y < $z ) { # z print "z of $z is the biggest odd number\n"; } else { # y print "y of $y is the biggest odd number\n"; } } else { # y print "y of $y is the biggest odd number\n"; } } else { # xz if( $z % 2 ) { # xz if( $x < $z ) { # z print "z of $z is the biggest odd number\n"; } else { # x print "x of $x is the biggest odd number\n"; } } else { # x print "x of $x is the biggest odd number\n"; } } } else { # xz if( $z % 2 ) { # xz if( $x < $z ) { # z print "z of $z is the biggest odd number\n"; } else { # x print "x of $x is the biggest odd number\n"; } } else { # x print "x of $x is the biggest odd number\n"; } } } else { # yz if( $y % 2 ) { # yz if( $z % 2 ) { # yz if( $y < $z ) { # z print "z of $z is the biggest odd number\n"; } else { # y print "y of $y is the biggest odd number\n"; } } else { # y print "y of $y is the biggest odd number\n"; } } else { # z if( $z % 2 ) { # z print "z of $z is the biggest odd number\n"; } else { # print "All are even numbers\n"; } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: John Guttag's book - 2nd exercise. My attempt in Perl.
by Anonymous Monk on May 22, 2017 at 22:26 UTC | |
by tybalt89 (Monsignor) on May 22, 2017 at 22:38 UTC | |
by Anonymous Monk on May 22, 2017 at 22:53 UTC | |
|
Re^2: John Guttag's book - 2nd exercise. My attempt in Perl.
by Anonymous Monk on May 22, 2017 at 22:24 UTC | |
by tybalt89 (Monsignor) on May 22, 2017 at 22:34 UTC | |
by Anonymous Monk on May 22, 2017 at 22:54 UTC |