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


Groups > comp.lang.forth > #53952

Re: Project Euler 18.

Path csiph.com!2.us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!news.albasani.net!.POSTED!not-for-mail
From Melzzzzz <mel@zzzzz.com>
Newsgroups comp.lang.forth
Subject Re: Project Euler 18.
Date Thu, 12 Jan 2017 11:14:06 +0100
Organization albasani.net
Lines 52
Message-ID <20170112111406.7ef47ed5@maxa-pc> (permalink)
References <o5779i$bcp$1@gioia.aioe.org>
Mime-Version 1.0
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net ZPNKGLlaqmmOJeAN/HgMUCQ1sug/6d7SVkkXrkcTvYHUlPjzmVq8we/0CEnxjqdonFjQF3DpurOL/jAoIMa9hg==
NNTP-Posting-Date Thu, 12 Jan 2017 10:14:06 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="gmhiYlHC4ZDEAzheKOb4JF9MxQZI4zPmcGa++Q8igHjAAhxav1so1KvhcxzcNwxMsJSEEIvXFNJ2qsVGi/jNOHLQrW1URBrZrM2FRyjc9M5FAoNp2pnjK0Mtoz9Q9B/d"; mail-complaints-to="abuse@albasani.net"
X-Newsreader Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu)
Cancel-Lock sha1:MxoOaYZerLzLZI8d2JW+e6SyMVk=
Xref csiph.com comp.lang.forth:53952

Show key headers only | 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