Last list item: Difference between revisions

Added AutoHotkey
(Added AutoHotkey)
Line 114:
Last item is 621.
</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}}==
<lang AWK>
299

edits