d <-
matrix(c(1, 2, 2, 4, 0, 1, 2, 1, 3, 1, 1, 1, 0, 0, 1, 9, 4, 8, 2, 11), 4)
k = 1
repeat {
i <- sample(1:(dim(d)[1]), 1)
a <- matrix(0, dim(d)[1], dim(d)[2])
for (j in 1:dim(d)[2]) {
a[, j] <- c(sample(d[, j], i), rep(0, dim(d)[1] - i))
if (sum(a) == 30) {
print(a)
break
}
}
if (k > 10000)
break
k <- k + 1
}
结果有很多很多,当然没想办法识别重复结果,所以设了k作终止条件。你试试吧。
另外,不要你的币,我的币已经够多的了。就是玩。