该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
x=zeros(30,2);% x为左岸
ii=1;
for a1=0:3 %a1 为商人
for a2=0:3 %a2 为仆人
if (a1>=a2) && (a1+a2<=6)
x(ii,1)=a1;
x(ii,2)=a2;
ii=ii+1;
end
end
end
disp(ii-1);% 多少种可能性
y=x;% x为左岸 y为右岸
z=zeros(51,4);
kk=1;
for ii=1:11
for jj=1:11
if (x(ii,1)+y(jj,1)<=6) % 左岸+右岸商人 小于6人
if (x(ii,2)+y(jj,2)<=6) %再加上 左岸+右岸仆人 小于6人
if ((x(ii,1)+x(ii,2)+y(jj,1)+y(jj,2))<=6)&&((x(ii,1)+x(ii,2)+y(jj,1)+y(jj,2))>=4)%再加上 左岸+右岸全部商仆人 4 到6人 2个人可能在船上 这时有50 种可能
z(kk,1)=x(ii,1);
z(kk,2)=x(ii,2);
z(kk,3)=y(jj,1);
z(kk,4)=y(jj,2);
kk=kk+1;
end
end
end
end
end
disp(kk-1);
disp(z);
10
50
左岸商人 仆人 右岸商人 仆人
0 0 2 2
0 0 3 1
0 0 3 2
0 0 3 3
1 0 2 1
1 0 2 2
1 0 3 0
1 0 3 1
1 0 3 2
1 1 1 1
1 1 2 0
1 1 2 1
1 1 2 2
1 1 3 0
1 1 3 1
2 0 1 1
2 0 2 0
2 0 2 1
2 0 2 2
2 0 3 0
2 0 3 1
2 1 1 0
2 1 1 1
2 1 2 0
2 1 2 1
2 1 3 0
2 2 0 0
2 2 1 0
2 2 1 1
2 2 2 0
2 2 0 0
3 0 1 0
3 0 1 1
3 0 2 0
3 0 2 1
3 0 3 0
3 1 0 0
3 1 1 0
3 1 1 1
3 1 2 0
3 1 0 0
3 2 0 0
3 2 1 0
3 2 0 0
3 3 0 0
3 3 0 0
0 0 2 2
0 0 3 1
0 0 3 2
0 0 3 3
0 0 0 0
答案应在其中了