September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -0,0 +1,33 @@
|
|||
// version 1.1.2
|
||||
|
||||
fun <T> ncs(a: Array<T>) {
|
||||
fun generate(m: Int, k: Int, c: IntArray) {
|
||||
if (k == m) {
|
||||
if (c[m - 1] != c[0] + m - 1) {
|
||||
for (i in 0 until m) print("${a[c[i]]} ")
|
||||
println()
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (j in 0 until a.size) {
|
||||
if (k == 0 || j > c[k - 1]) {
|
||||
c[k] = j
|
||||
generate(m, k + 1, c)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (m in 2 until a.size) {
|
||||
val c = IntArray(m)
|
||||
generate(m, 0, c)
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val a = arrayOf(1, 2, 3, 4)
|
||||
ncs(a)
|
||||
println()
|
||||
val ca = arrayOf('a', 'b', 'c', 'd', 'e')
|
||||
ncs(ca)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue