2016 Update

This commit is contained in:
Tina Müller 2016-12-05 22:15:40 +01:00
parent 948b86eafa
commit dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions

View file

@ -1,34 +1,32 @@
/*REXX program finds the max sum of a "column" of numbers in a triangle.*/
@. =
@.1 = 55
@.2 = 94 48
@.3 = 95 30 96
@.4 = 77 71 26 67
@.5 = 97 13 76 38 45
@.6 = 07 36 79 16 37 68
@.7 = 48 07 09 18 70 26 06
@.8 = 18 72 79 46 59 79 29 90
@.9 = 20 76 87 11 32 07 07 49 18
@.10 = 27 83 58 35 71 11 25 57 29 85
@.11 = 14 64 36 96 27 11 58 56 92 18 55
@.12 = 02 90 03 60 48 49 41 46 33 36 47 23
@.13 = 92 50 48 02 36 59 42 79 72 20 82 77 42
@.14 = 56 78 38 80 39 75 02 71 66 66 01 03 55 72
@.15 = 44 25 67 84 71 67 11 61 40 57 58 89 40 56 36
@.16 = 85 32 25 85 57 48 84 35 47 62 17 01 01 99 89 52
@.17 = 06 71 28 75 94 48 37 10 23 51 06 48 53 18 74 98 15
@.18 = 27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93
/*REXX program finds the maximum sum of a path of numbers in a pyramid of numbers. */
@.=.; @.1 = 55
@.2 = 94 48
@.3 = 95 30 96
@.4 = 77 71 26 67
@.5 = 97 13 76 38 45
@.6 = 07 36 79 16 37 68
@.7 = 48 07 09 18 70 26 06
@.8 = 18 72 79 46 59 79 29 90
@.9 = 20 76 87 11 32 07 07 49 18
@.10 = 27 83 58 35 71 11 25 57 29 85
@.11 = 14 64 36 96 27 11 58 56 92 18 55
@.12 = 02 90 03 60 48 49 41 46 33 36 47 23
@.13 = 92 50 48 02 36 59 42 79 72 20 82 77 42
@.14 = 56 78 38 80 39 75 02 71 66 66 01 03 55 72
@.15 = 44 25 67 84 71 67 11 61 40 57 58 89 40 56 36
@.16 = 85 32 25 85 57 48 84 35 47 62 17 01 01 99 89 52
@.17 = 06 71 28 75 94 48 37 10 23 51 06 48 53 18 74 98 15
@.18 = 27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93
#.=0
do r=1 while @.r\==. /*build another version of the pyramid.*/
do k=1 for r; #.r.k=word(@.r, k) /*assign a number to an array number. */
end /*k*/
end /*r*/
do r=1 while @.r\=='' /*build a version of the triangle*/
do k=1 for words(@.r) /*build a row, number by number. */
#.r.k=word(@.r,k) /*assign a number to an array num*/
end /*k*/
end /*r*/
rows=r-1 /*compute the number of rows. */
do r=rows by -1 to 2; p=r-1 /*traipse through triangle rows. */
do k=1 for p; kn=k+1 /*re-calculate the previous row. */
#.p.k=max(#.r.k, #.r.kn) + #.p.k /*replace previous #. */
end /*k*/
end /*r*/
say 'maximum path sum:' #.1.1 /*display the top (row 1) number.*/
/*stick a fork in it, we're done.*/
do r=r-1 by -1 to 2; p=r-1 /*traipse through the pyramid rows. */
do k=1 for p; _=k+1 /*re─calculate the previous pyramid row*/
#.p.k=max(#.r.k, #.r._) + #.p.k /*replace the previous number. */
end /*k*/
end /*r*/
/*stick a fork in it, we're all done. */
say 'maximum path sum: ' #.1.1 /*show the top (row 1) pyramid number. */