你好,我的问题是这样的:
首先我希望用以下代码实现找钱问题,我希望我的输入值为L,为硬币的面额,k为面额。我希望可以实现数据的全排列,并且从中筛选出所有符合条件的组合。
以下是我的代码
NEXTLEAF <- function(a, L, k) {
n <- length(L)
for (i in n:1) {
if (a[i] < k) {
a[i] <- a[i] + 1
return(a)
} else {
a[i] <- 1
}
}
return(a)
}
ALLLEAVES <- function(L, k) {
a <- rep(1, length(L))
b <- array(,length(L))
while (TRUE) {
print(a)
a <- NEXTLEAF(a, L, k)
for (a in 1:length(L) {
if(a[1]*L[1]+a[2]*L[2]+a[3]*L[3]+a[4]*L[4] == k){
b <- a
}
}
if (all(a == 1)) {
break
}
}
print(b)
}
我希望得到的结果是所有符合条件的组合,如我输入的L(1,2,5),k(5)
那我得到的结果为
5,0,0
3,1,0
1,2,0
0,0,1