Jump to content

Combinations with repetitions: Difference between revisions

Add Lobster solution
(Add Lobster solution)
Line 1,865:
((iced iced) (iced jam) (iced plain) (jam jam) (jam plain) (plain plain))
</lang>
 
 
=={{header|Lobster}}==
{{trans|C}}
<lang Lobster>import std
 
// set S of length n, choose k
 
def choose(s, k, f):
let got = map(k): s[0]
let n = s.length
 
def choosi(n_chosen, at):
var count = 0
if n_chosen == k:
f(got)
return 1
var i = at
while i < n:
got[n_chosen] = s[i]
count += choosi(n_chosen + 1, i)
i += 1
return count
return choosi(0, 0)
 
let count = choose(["iced", "jam", "plain"], 2): print(_)
print count
let extra = choose(map(10):_, 3): _
print extra</lang>
{{out}}
<pre>["iced", "iced"]
["iced", "jam"]
["iced", "plain"]
["jam", "jam"]
["jam", "plain"]
["plain", "plain"]
6
220
</pre>
 
=={{header|Lua}}==
E
22

edits

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