Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: How many triangles does your perl script "see"?

by Thelonius (Priest)
on Oct 28, 2005 at 00:25 UTC ( [id://503517]=note: print w/replies, xml ) Need Help??

in reply to How many triangles does your perl script "see"?

#!perl -w use strict; sub choose { my ($str, $n) = @_; my @result; choose1(\@result, "", $str, $n, 0); return @result; } sub choose1 { my ($parray, $this, $str, $n, $x) = @_; if ($n == 0) { push @{$parray}, $this; return; } return if $x + $n > length($str); choose1($parray, $this . substr($str, $x, 1), $str, $n - 1, $x+1); choose1($parray, $this, $str, $n, $x+1); } my %edges; my %nodes; my %collinear; for (qw(ab acfi adgj ae bcde bfhj bi ej eghi ij)) { $nodes{$_} = 1 for choose($_, 1); $edges{$_} = 1 for choose($_, 2); $collinear{$_} = 1 for choose($_, 3); } my $allnodes = join "", sort keys %nodes; for my $triple (grep {!$collinear{$_}} choose($allnodes, 3)) { print "$triple\n" if 3 == grep { $edges{$_} } choose($triple, 2); }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://503517]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-06-18 01:45 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.