On Tuesday, December 16, 2014 12:52:58 AM UTC-5, Jason Swails wrote:
> This was a problem posed to me, which I solved in Python.  I thought it was 
> neat and enjoyed the exercise of working through it; feel free to ignore.  
> For people looking for little projects to practice their skills with (or a 
> simple distraction), read on.
> 
> 
> You have a triangle of numbers such that each row has 1 more number than the 
> row before it, like so:
> 
> 
>         1
>      3    2
>    8    6    1
> 5    10   15  2
> 
> 
> The task is to find the maximum possible sum through the triangle that you 
> can compute by adding numbers that are adjacent to the value chosen in the 
> row above.  In this simple example, the solution is 1+3+6+15=25.  As the 
> number of rows increases, the possible paths through the triangle grows 
> exponentially (and it's not enough to just look at the max value in each row, 
> since they may not be part of the optimum pathway, like the '8' in row 3 of 
> the above example).
> 
> 
> The challenge is to write a program to compute the sum of 
> https://gist.github.com/swails/17ef52f3084df708816d.
> 
> 
> I liked this problem because naive solutions scale as O(2^N), begging for a 
> more efficient approach.
> 
> 
> Have fun,
> Jason

Here is a program in Picat, which has a built-in tabling mechanism for dynamic 
programming solutions:

http://picat-lang.org/euler/p18.pi

Cheers,
NF
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to