MATLABで素数の数を求める

これのMATLAB版

n = 15;
count = 0;
for i = 1:n
    disp([i, isprime(i)]);
    count = count + isprime(i);
end

disp(['count ->,', num2str(count)]);

function p = isprime(n)
    k = factorial(n-1) + 1;
    p = floor(cos(pi*k/n)^2);
end

コメント

  1. eigs より:

    MATLAB だと isprime という関数がありますね。
    https://jp.mathworks.com/help/matlab/ref/isprime.html

    • しろねこ より:

      はい。今回は力技で求めてみました。
      記事の方法はあまり大きな値を扱えないので使うならばisprimeのほうが現実的かもしれません。

タイトルとURLをコピーしました