Skip to content

Instantly share code, notes, and snippets.

@masak
Created July 26, 2012 12:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save masak/3181677 to your computer and use it in GitHub Desktop.
Save masak/3181677 to your computer and use it in GitHub Desktop.
Which outputs are paradoxical?
$ cat paradoxical
sub paradox($p) {
# Either they refer to themselves...
return True if $p.substr(0, 1) eq 'n';
return True if $p.substr(1, 1) eq 'p';
return True if $p.substr(2, 1) eq 'r';
# ...or to each other in a 3-loop...
return True if $p eq 'prn';
return True if $p eq 'rnp';
# ...or it's not a paradox.
return False;
}
my @outputs = <n p r> X~ <n p r> X~ <n p r>;
for @outputs {
say "$_: ", (paradox($_) ?? '' !! 'not '), "paradoxical";
}
$ nom paradoxical
nnn: paradoxical
nnp: paradoxical
nnr: paradoxical
npn: paradoxical
npp: paradoxical
npr: paradoxical
nrn: paradoxical
nrp: paradoxical
nrr: paradoxical
pnn: not paradoxical
pnp: not paradoxical
pnr: paradoxical
ppn: paradoxical
ppp: paradoxical
ppr: paradoxical
prn: not paradoxical
prp: not paradoxical
prr: paradoxical
rnn: not paradoxical
rnp: not paradoxical
rnr: paradoxical
rpn: paradoxical
rpp: paradoxical
rpr: paradoxical
rrn: not paradoxical
rrp: not paradoxical
rrr: paradoxical
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment