Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #53952

Re: Project Euler 18.

From Melzzzzz <mel@zzzzz.com>
Newsgroups comp.lang.forth
Subject Re: Project Euler 18.
Date 2017-01-12 11:14 +0100
Organization albasani.net
Message-ID <20170112111406.7ef47ed5@maxa-pc> (permalink)
References <o5779i$bcp$1@gioia.aioe.org>

Show all headers | View raw


On Thu, 12 Jan 2017 06:21:39 +0000 (UTC)
"Robert L." <No_spamming@noWhere_7073.org> wrote:

> Find the maximum total from top to bottom of the triangle below:
> 
> Ruby:
> 
> triangle =
>   "75
>    95 64
>    17 47 82
>    18 35 87 10
>    20 04 82 47 65
>    19 01 23 75 03 34
>    88 02 77 73 07 63 67
>    99 65 04 28 06 16 70 92
>    41 41 26 56 83 40 80 70 33
>    41 48 72 33 47 32 37 16 94 29
>    53 71 44 65 25 43 91 52 97 51 14
>    70 11 33 28 77 73 17 78 39 68 17 57
>    91 71 52 38 17 14 91 43 58 50 27 29 48
>    63 66 04 68 89 53 67 30 73 16 69 87 40 31
>    04 62 98 27 23 09 70 98 73 93 38 53 60 04 23".
>   each_line.map{|line| line.scan( /\d+/ ).map &:to_i}
> 
> $max_total = 0
> def maximize( sum, column, delta, (row,*rest) )
>   if !row
>     $max_total = [$max_total, sum].max
>   else
>     column.upto(column + delta){|i| maximize(sum + row[i], i, 1,
> rest)} end
> end
> maximize(0,0,0,triangle)
> $max_total
> 
>  ===>  
> 1074
> 
> In Forth?
> 
> 

https://projecteuler.net/problem=67
NOTE: This is a much more difficult version of Problem 18. It is not
possible to try every route to solve this problem, as there are 299
altogether! If you could check one trillion (1012) routes every second
it would take over twenty billion years to check them all. There is an
efficient algorithm to solve it. ;o)

-- 
press any key to continue or any other to quit...

Back to comp.lang.forth | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Project Euler 18. "Robert L." <No_spamming@noWhere_7073.org> - 2017-01-12 06:21 +0000
  Re: Project Euler 18. Melzzzzz <mel@zzzzz.com> - 2017-01-12 11:14 +0100

csiph-web