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"; } } }
In reply to Re: John Guttag's book - 2nd exercise. My attempt in Perl.
by tybalt89
in thread John Guttag's book - 2nd exercise. My attempt in Perl.
by pritesh_ugrankar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |