例4-7-1.m

来自「MATLAB 7基础与提高书的配套源程序」· M 代码 · 共 18 行

M
18
字号
function sequence=collatz(n)
%柯雷茨(Collatz)猜想
%   对于任意的正整数n:
%   如果n是偶数则除以2
%   如果是奇数则乘3加1
%   重复计算,直至结果为1%  

sequence = n;
next_value = n;
while next_value > 1
    if rem(next_value,2)==0
        next_value = next_value/2;
    else
        next_value = 3*next_value+1;
    end
    sequence = [sequence, next_value];
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?