我编写了一个代码来生成一个具有四列的矩阵,以获取总和等于 9 且每个数字从 0 到 9 变化的所有数字组合。
m = zeros(220, 4);
pd = 9;
i = 1;
for p = 0:1:pd
for q = 0:1:pd-p
for a = 0:1:pd-q-p
m(i,:) = [p, q, a, pd-a-q-p];
i = i+1;
end
end
end
m
现在我想过滤没有零、一个零、两个零、三个零的数组。比如,三个零的情况
0 0 0 9
二零情况
0 0 1 8
0 0 2 7
.
.
0 0 8 1
一零案例
0 1 1 7
0 1 2 6
.
.
.
0 7 1 1
并且没有零案例
1 1 1 6
1 1 2 5
.
.
6 1 1 1
等等..
有什么建议或任何替代方法吗?
更新:
0 0 0 9
0 0 1 8
0 0 2 7
.
.
0 0 8 1
0 1 1 7
0 1 2 6
.
.
.
0 7 1 1
1 1 1 6
1 1 2 5
.
.
6 1 1 1
m
有什么建议可以按上述顺序获取矩阵吗?