Knapsack problem/Continuous: Difference between revisions

m (→‎{{header|REXX}}: removed OVERFLOW from PRE html tag.)
Line 1,755:
 
=={{header|Ruby}}==
<lang ruby>
# Solve Continuous Knapsdack Problem
#
# Nigel_Galloway
# September 8th., 2014.
maxW, value = 15, 0
{:beef => [3.8,36],
:pork => [5.4,43],
:ham => [3.6,90],
:greaves => [2.4,45],
:flitch => [4.0,30],
:brawn => [2.5,56],
:welt => [3.7,67],
:salami => [3.0,95],
:sausage => [5.9,98]}.sort_by{|n,g| -1*g[1]/g[0]}.each{|n,g|
if (maxW-=g[0]) > 0
puts "Take all #{n}"
value += g[1]
else
puts "Take #{t=g[0]+maxW}kg #{n}\n\nTotal value of swag is #{value+(g[1]/g[0])*t}"
break
end
}
</lang>
{{out}}
<pre>
Take all salami
Take all ham
Take all brawn
Take all greaves
Take 3.5kg welt
 
Total value of swag is 349.378378378378
</pre>
 
=={{header|Run BASIC}}==
<lang runbasic>dim name$(9)
2,172

edits