OpenConsole() Dim ln.s(19) ln(1) = " 55" ln(2) = " 94 48" ln(3) = " 95 30 96" ln(4) = " 77 71 26 67" ln(5) = " 97 13 76 38 45" ln(6) = " 07 36 79 16 37 68" ln(7) = " 48 07 09 18 70 26 06" ln(8) = " 18 72 79 46 59 79 29 90" ln(9) = " 20 76 87 11 32 07 07 49 18" ln(10) = " 27 83 58 35 71 11 25 57 29 85" ln(11) = " 14 64 36 96 27 11 58 56 92 18 55" ln(12) = " 02 90 03 60 48 49 41 46 33 36 47 23" ln(13) = " 92 50 48 02 36 59 42 79 72 20 82 77 42" ln(14) = " 56 78 38 80 39 75 02 71 66 66 01 03 55 72" ln(15) = " 44 25 67 84 71 67 11 61 40 57 58 89 40 56 36" ln(16) = " 85 32 25 85 57 48 84 35 47 62 17 01 01 99 89 52" ln(17) = " 06 71 28 75 94 48 37 10 23 51 06 48 53 18 74 98 15" ln(18) = " 27 02 92 23 08 71 76 84 15 52 92 63 81 10 44 10 69 93" ln(19) = "end" Dim matrix.i(20,20) Define.i x = 1, tam = 0 Define.i i, y, s1, s2, n For n = 1 To ArraySize(ln(),1) - 1 ln2.s = LTrim(ln(n)) For y = 1 To x matrix(x, y) = Val(Left(ln2, 2)) If Len(ln2) > 4: ln2 = Mid(ln2, 4, Len(ln2)-4) EndIf Next y x + 1 tam + 1 Next n For x = tam - 1 To 1 Step - 1 For y = 1 To x s1 = matrix(x+1, y) s2 = matrix(x+1, y+1) If s1 > s2: matrix(x, y) = matrix(x, y) + s1 Else matrix(x, y) = matrix(x, y) + s2 EndIf Next y Next x PrintN(#CRLF$ + " maximum triangle path sum = " + Str(matrix(1, 1))) Input() CloseConsole()