Jump to content

Knapsack problem/Continuous: Difference between revisions

m
move PL/I to proper position
(add PL/I and REXX (version 2))
m (move PL/I to proper position)
Line 1,335:
</pre>
 
=={{header|PicoLisp}}==
<lang PicoLisp>(scl 2)
 
(de *Items
("beef" 3.8 36.0)
("pork" 5.4 43.0)
("ham" 3.6 90.0)
("greaves" 2.4 45.0)
("flitch" 4.0 30.0)
("brawn" 2.5 56.0)
("welt" 3.7 67.0)
("salami" 3.0 95.0)
("sausage" 5.9 98.0) )
 
(let K
(make
(let Weight 0
(for I (by '((L) (*/ (caddr L) -1.0 (cadr L))) sort *Items)
(T (= Weight 15.0))
(inc 'Weight (cadr I))
(T (> Weight 15.0)
(let W (- (cadr I) Weight -15.0)
(link (list (car I) W (*/ W (caddr I) (cadr I)))) ) )
(link I) ) ) )
(for I K
(tab (3 -9 8 8)
NIL
(car I)
(format (cadr I) *Scl)
(format (caddr I) *Scl) ) )
(tab (12 8 8)
NIL
(format (sum cadr K) *Scl)
(format (sum caddr K) *Scl) ) )</lang>
Output:
<pre> salami 3.00 95.00
ham 3.60 90.00
brawn 2.50 56.00
greaves 2.40 45.00
welt 3.50 63.38
15.00 349.38</pre>
=={{header|PL/I}}==
<lang pli>*process source xref attributes;
Line 1,431 ⟶ 1,472:
-----------------------
total 15.000 349.378</pre>
 
 
 
=={{header|PicoLisp}}==
<lang PicoLisp>(scl 2)
 
(de *Items
("beef" 3.8 36.0)
("pork" 5.4 43.0)
("ham" 3.6 90.0)
("greaves" 2.4 45.0)
("flitch" 4.0 30.0)
("brawn" 2.5 56.0)
("welt" 3.7 67.0)
("salami" 3.0 95.0)
("sausage" 5.9 98.0) )
 
(let K
(make
(let Weight 0
(for I (by '((L) (*/ (caddr L) -1.0 (cadr L))) sort *Items)
(T (= Weight 15.0))
(inc 'Weight (cadr I))
(T (> Weight 15.0)
(let W (- (cadr I) Weight -15.0)
(link (list (car I) W (*/ W (caddr I) (cadr I)))) ) )
(link I) ) ) )
(for I K
(tab (3 -9 8 8)
NIL
(car I)
(format (cadr I) *Scl)
(format (caddr I) *Scl) ) )
(tab (12 8 8)
NIL
(format (sum cadr K) *Scl)
(format (sum caddr K) *Scl) ) )</lang>
Output:
<pre> salami 3.00 95.00
ham 3.60 90.00
brawn 2.50 56.00
greaves 2.40 45.00
welt 3.50 63.38
15.00 349.38</pre>
 
=={{header|Prolog}}==
Line 1,837 ⟶ 1,834:
</pre>
 
===version2version 2===
<lang rexx> /*--------------------------------------------------------------------
* 19.09.2014 Walter Pachl translated from FORTRAN
2,295

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.