M
给定一个大小为和的矩阵N
,我们希望用整数值 (>=0) 填充每一行,使其总和为某个值。
请注意,M
和的尺寸N
是使用某些公式预先计算的,因此可以保证在给定所需条件(即sum_val
以下)的情况下与填充相匹配。
这是两个例子
#sum_val <-2
#m<-6
#n<-3
# the value of "sum_val" may vary
# and 'm' 'n' also change depends on it
# First are initialized using 0
#mat <- matrix(0,nrow=m,ncol=n);
# Below results are hand coded:
[,1] [,2] [,3]
[1,] 1 1 0 # Sum of each rows here is equal to 'sum_val = 2'
[2,] 1 0 1
[3,] 0 1 1
[4,] 2 0 0
[5,] 0 2 0
[6,] 0 0 2
另一个例子:
> sum_val<-2;
#m<-15
#n<-5
#mat <- matrix(0,nrow=m,ncol=n);
# Below results are hand coded:
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 0 0 0 # rows also sums up to 2
[2,] 1 0 1 0 0
[3,] 1 0 0 1 0
[4,] 1 0 0 0 1
[5,] 0 1 0 0 1
[6,] 0 0 1 0 1
[7,] 0 0 0 1 1
[8,] 0 1 0 1 0
[9,] 0 1 1 0 0
[10,] 0 0 1 1 0
[11,] 2 0 0 0 0
[12,] 0 2 0 0 0
[13,] 0 0 2 0 0
[14,] 0 0 0 2 0
[15,] 0 0 0 0 2
我陷入了以下循环:
> for (ri in 1:m) {
+ for (ci in 1:n) {
+
+
+ # Not sure how to proceed from here
+ if(ci==2) {
+ mat[ri,ci] <- 1;
+ }
+ }
+ }
解决它的最佳方法是什么?