如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 19:14:43
如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和)

如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和)
如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!
而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和)

如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和)
function [R,ct] = my_sort14
% 1:14全排列,偶数位元素等于前后元素之和,末位数为第一位与前一位之和
% R:所有排列
% ct:排列总数
% 首先找出数列前3位符合条件的所有组合
R1 = [];
m = 1:14;
for k1 = m
    for k2 = m
        if k1 == k2, continue; end;
        for k3 = m
            if k3 == k1, continue; end;
            if k3 == k2, continue; end;
            k = [k1 k2 k3];
            r = ck(k);
            if ~isempty(r)
                R1 = [R1;r];
            end;
        end;
    end;
end;
% 从第4位开始每次增加2个元素并按规则检测
R2 = [];
n = (14-3-1)/2;
for v = 1:n
    if v == 1
        RR = R1;
    else
        RR = R2;
    end;
    R2 = [];
    for k = 1:size(RR,1)
        a = RR(k,:);
        mm = setxor(a,m);
        for p1 = mm(1:end-1)
            for p2 = mm
                if p1 == p2, continue; end;
                pp = [a p1 p2];
                r = ck(pp);
                if ~isempty(r)
                    R2 = [R2;r];
                end;
            end;
        end;
    end;
end;
% 单独处理第14位元素
R = [];
for k = 1:size(R2,1)
    a = R2(k,:);
    p = setxor(a,m);
    pp = [a p];
    if pp(end) == pp(end-1)+pp(1)
        R = [R;pp];
    end;
end;
ct = size(R,1);
% 子函数:检测(除14外)偶位数元素是否等于前后元素之和
function r = ck(k);
if k(end-1) == k(end-2)+k(end)
    r = k;
else
    r = [];
end;

请问:如何用Matlab语言编写在N个数中随机选m个互不相同的数! 如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和);这个问题可以把它看成一个环,从不同的 如何用Matlab语言编写在1~14的数中随机选14个互不相同的数!而且使得第2k个数等于其前后的两个数之和(第十四个数等于第十三个数和第一个数之和) Matlab中如何求循环次数.如何用matlab 语言求出该方程的n值. 如何用matlab绘制matlab的标志 如何用c语言编出下列程序 如何用C语言产生1-52的52个不同的数呀? 如何用matlab编一个随机数啊,例如编1000+—300,产生五十个随机数, 如何用C语言产生一个六位数的随机数?请问如何用C语言编一个程序算出随机的一个六位数随机数啊? 用C语言编写在100以内自然数种最大的能被32整除的数 matlab里面的函数wden如何用C语言实现啊?需要具体的算法~ 如何用matlab语言描述以下公式,在线等高手》》》》》》》》》》》 如何用MATLAB语言表示这几个式子?图片 如何用包装带编的篮子 如何用MATLAB.查询你所用机器的最大浮点数和最小浮点数 如何用matlab得到一个圆环想得到一个圆环,或者圆盘,不知道有没有直接的函数调用,或者自己编该怎么编? 如何用matlab画出xy=1的图形?急用~ 如何用c语言编一个比较三个数大小的程序,并输出最大值和最小值