多维数组变一维数组,比较复杂,非诚勿看
多维数组变一维数组,规则如下:1. arrA = arrB;
2. 要求a<b<c<d<e<f<33;
例如:
arrA[ 0, 1, 2, 3, 4, 5] = arrB
arrA[ 0, 1, 2, 3, 4, 6] = arrB
arrA[ 0, 1, 2, 3, 4,32] = arrB
arrA[ 0, 1, 2, 3, 5, 6] = arrB
arrA[ 0, 1, 2, 3, 5, 7] = arrB
arrA[ 0, 1, 2, 3, 5,32] = arrB
arrA[ 0, 1, 2, 3, 6, 7] = arrB
arrA[ 0, 1, 2, 4, 5, 6] = arrB
arrA[ 0, 1, 2, 6, 7, 8] = arrB
arrA[ 0, 1, 2, 7, 8, 9] = arrB
arrA[ 0, 1, 3, 4, 5, 6] = arrB
arrA[ 0, 1, 3, 4, 5, 7] = arrB
arrA[ 0, 1, 4, 5, 6, 7] = arrB
求:1. arrB=arrA中的abcdef值
2. arrB = arrA中的abcdef表达式或者程序
本帖最后由 snowwomanPeter 于 2014-7-14 14:51 编辑
你的这个问题计算量太大啦,估计一般的计算机还有点吃不消。InitArr=0:5;
Arr=[];k=0;
change=0;index=0;
while(InitArr(1)<28)
for i=1:length(InitArr)
if(InitArr(i)>32)
change=1;
index = i;
break;
end
end
if(change==1)
InitArr(index-1)=InitArr(index-1)+1;
for j=index:6
InitArr(j)=InitArr(index-1)+j-index+1;
end
change=0;
else
k=k+1;
Arr(k,:)=InitArr;
InitArr(6)=InitArr(6)+1;
end
end
你可以看一下,运行时间6分半,有点长 学习 学习 谢谢楼主……辛苦啦!……………… 看看。。。。。。
页:
[1]