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
    Now write one that checks 26 vars: $a .. $z

    Also, nested ifs count as ORs and ANDs :D

      No, they don't.

        What kind of troll do u think u r?
        $a = 1; $b = 0; print "OR\n" if $a or $b; print "AND\n" if $a and $b; if ($a) { if ($b) { print "AND\n"; } else { print "OR\n"; } } elsif ($b) { if ($a) { print "AND\n"; } else { print "OR\n"; } }
Re^2: John Guttag's book - 2nd exercise. My attempt in Perl.
by Anonymous Monk on May 22, 2017 at 22:24 UTC
    I wish I could downvote this 100 times.

      I'm just following the posted rules :)

      Let's see your solution following the posted rules...