#! /usr/bin/perl use strict; use warnings; my $bits = shift; my $den = 2**$bits; foreach my $num (1 .. $den-1) { my $str = sprintf "%0${bits}b", $num; $str =~ s/0*$//; my $len = length $str; $str =~ s/0/R & (/g; $str =~ s/1/R | (/g; $str .= ")" x $len; $str =~ s/ \| \(\)//; $str =~ s/\(R\)/R/; print "E($num/$den) = $str\n"; }