primes_b.m

来自「toolbox of BVQX, This is the access betw」· M 代码 · 共 35 行

M
35
字号
function p = primes_b(n)
% primes_b  - generate list of prime numbers
%
% See also primes

% argument check
if nargin ~= 1 || ...
    numel(n) ~= 1 || ...
   (~isa(n, 'double') && ...
    ~isa(n, 'single')) || ...
    isinf(n) || ...
    isnan(n) || ...
    n < 1
    error( ...
        'BVQXtools:BadArgument', ...
        'Bad argument.' ...
    );
end
n = ceil(n);
if n < 2
    p = reshape(n([]), [1, 0]);
    return;
end
p = true(1, floor((n+1) / 2));
p(1) = false;
q = numel(p);
m = ceil(sqrt(n) / 2);
for k = 2:m
    if p(k)
        k2 = 2 * k - 1;
        p(k+k2:k2:q) = false;
    end
end
p = [2, 2 * find(p) - 1];

⌨️ 快捷键说明

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