大量排列

时间:2015-02-03 04:00:24

标签: matlab memory permutation largenumber

我正在尝试找到M=perms([1:26])的排列,但MATLAB的执行速度不能超过perms(1:10) 10阶乘(10!)。你有什么建议吗?

clear M Mn 
M=perms([1:10]); 
Mn=zeros(factorial(11),11);

  for i=11 
    m1=factorial(i-1);m2=i-1; 
    for j=1:i
       Mn(m1*j-m1+1:m1*j,1:m2+1)=[ones(m1,1)*j,M];
    end
    M=Mn;
    Mn=[Mn,zeros(factorial(i),1);zeros(factorial(i+1)-factorial(i),i+1)];
end

0 个答案:

没有答案