"n"で自然数を持つ行列を作成し、列と行の合計が等しくなければならない関数を作成する必要があります。ファンクション - 等しい和の行を持たない行列
n<-3
s<-20
m<-matrix(rep(0,n^2),n)
for (c in 1:n){
for (r in 1:n){
if (r==n) m[r,c]<-s-sum(m[1:r-1,c])
else{
m[r,c]<-round(runif(1,1,s-(n-1)-sum(m[1:r,c])))
print (sum(m[1:r,c]))
}
}
}
m
合計がためだけ等しいです: - - 次元
私はこの問題に対する部分的な解決策を持っている
- N: 機能
f(n, s)
は、2つの引数を持つべきですカラム。私はコードを改善する助けが必要です。私はあなたの助けに最も感謝しています!
> N、(それなし問題は難治性である) 'DIAG(N)*(SN)+ 1 'ありませんあなたが尋ねたこと。 – Miff
s> nの場合、Miffの非常に短い答えが働きますが、s = nなら問題は解決できます。 if(n == s){matrix(1、nrow = n、ncol = n)} else {diag(n)*(s-n)+1} 'を実行できます。または、自然数であるためにゼロをとるならば、 'diag(s)'だけです。 – user1310503