Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #53952
| 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
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