Last list item: Difference between revisions
Content added Content deleted
Alpha bravo (talk | contribs) (Added AutoHotkey) |
|||
Line 114: | Line 114: | ||
Last item is 621. |
Last item is 621. |
||
</pre> |
</pre> |
||
=={{header|AutoHotkey}}== |
|||
<lang AutoHotkey>List := [6, 81, 243, 14, 25, 49, 123, 69, 11] |
|||
steps := "Initial List `t`t`t" List2str(List) "`n" |
|||
while List.Count() > 1 |
|||
{ |
|||
sum := 0, str := "" |
|||
loop 2 |
|||
{ |
|||
num := min(List*) |
|||
sum += num |
|||
removeFromList(List, num) |
|||
str .= (!str ? "2 smallest numbers: " : " + ") num |
|||
} |
|||
List.Push(sum) |
|||
steps .= str " = " sum "`t" List2str(List) "`n" |
|||
} |
|||
MsgBox % result := steps |
|||
return |
|||
removeFromList(ByRef List, num){ |
|||
for i, v in List |
|||
if (v = num) |
|||
{ |
|||
List.RemoveAt(i) |
|||
break |
|||
} |
|||
} |
|||
List2str(List){ |
|||
for i, v in List |
|||
unsorted_List .= v ", " |
|||
return "[" Trim(unsorted_List, ", ") "]" |
|||
}</lang> |
|||
{{out}} |
|||
<pre>Initial List [6, 81, 243, 14, 25, 49, 123, 69, 11] |
|||
2 smallest numbers: 6 + 11 = 17 [81, 243, 14, 25, 49, 123, 69, 17] |
|||
2 smallest numbers: 14 + 17 = 31 [81, 243, 25, 49, 123, 69, 31] |
|||
2 smallest numbers: 25 + 31 = 56 [81, 243, 49, 123, 69, 56] |
|||
2 smallest numbers: 49 + 56 = 105 [81, 243, 123, 69, 105] |
|||
2 smallest numbers: 69 + 81 = 150 [243, 123, 105, 150] |
|||
2 smallest numbers: 105 + 123 = 228 [243, 150, 228] |
|||
2 smallest numbers: 150 + 228 = 378 [243, 378] |
|||
2 smallest numbers: 243 + 378 = 621 [621]</pre> |
|||
=={{header|AWK}}== |
=={{header|AWK}}== |
||
<lang AWK> |
<lang AWK> |