数学建模社区-数学中国
标题:
多维数组变一维数组,比较复杂,非诚勿看
[打印本页]
作者:
iobug
时间:
2014-6-27 17:06
标题:
多维数组变一维数组,比较复杂,非诚勿看
多维数组变一维数组,规则如下:
1. arrA[a,b,c,d,e,f] = arrB[n];
2. 要求a<b<c<d<e<f<33;
例如:
arrA[ 0, 1, 2, 3, 4, 5] = arrB[0]
arrA[ 0, 1, 2, 3, 4, 6] = arrB[1]
arrA[ 0, 1, 2, 3, 4,32] = arrB[27]
arrA[ 0, 1, 2, 3, 5, 6] = arrB[28]
arrA[ 0, 1, 2, 3, 5, 7] = arrB[29]
arrA[ 0, 1, 2, 3, 5,32] = arrB[54]
arrA[ 0, 1, 2, 3, 6, 7] = arrB[55]
arrA[ 0, 1, 2, 4, 5, 6] = arrB[406]
arrA[ 0, 1, 2, 6, 7, 8] = arrB[1135]
arrA[ 0, 1, 2, 7, 8, 9] = arrB[1460]
arrA[ 0, 1, 3, 4, 5, 6] = arrB[4060]
arrA[ 0, 1, 3, 4, 5, 7] = arrB[5138]
arrA[ 0, 1, 4, 5, 6, 7] = arrB[7144]
求:1. arrB[854564]=arrA[a,b,c,d,e,f]中的abcdef值
2. arrB[N] = arrA[a,b,c,d,e,f]中的abcdef表达式或者程序
作者:
snowwomanPeter
时间:
2014-7-14 14:42
本帖最后由 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分半,有点长
作者:
栀子流年5
时间:
2014-7-17 09:04
学习 学习
作者:
弘道
时间:
2014-7-29 10:51
谢谢楼主……辛苦啦!………………
作者:
奥霸马2014
时间:
2014-8-1 11:42
看看。。。。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5