Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: compute paths in Pascal's triangle (aka Tartaglia's one) -- the winner is..

by tybalt89 (Monsignor)
on Mar 26, 2018 at 02:21 UTC ( [id://1211715]=note: print w/replies, xml ) Need Help??


in reply to Re^2: compute paths in Pascal's triangle (aka Tartaglia's one) -- the winner is..
in thread compute paths in Pascal's triangle (aka Tartaglia's one)

AoA with a less ugly call

#!/usr/bin/perl # http://perlmonks.org/?node_id=1211497 use strict; use warnings; use Data::Dump 'pp'; sub up { my ($row, $col) = $_[0]->@*; return $row == 0 && $col == 0 ? [ map [ @$_ ], @_ ] : (($row > 0 && $col > 0 ? up( [ ~-$row, ~-$col ], @_ ) : () ), ($row > $col ? up( [ ~-$row, $col ], @_ ) : () ) ); } pp up [ 3, 1 ];

Outputs:

( [[0, 0], [1, 0], [2, 0], [3, 1]], [[0, 0], [1, 0], [2, 1], [3, 1]], [[0, 0], [1, 1], [2, 1], [3, 1]], )

And yes, the row and col checks are to stay within the triangle.

BTW, contrary to some opinions, this code is NOT golfed. If it were, it wouldn't be using three letter variable names, and certainly wouldn't have used a totally unnecessary 'return' statement. :)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-26 08:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found