利用MATLAB求素数
时间: 2024-01-27 07:42:02 浏览: 172
MAtTLab求素数
以下是一种求素数的 MATLAB 代码:
```matlab
function primes = find_primes(n)
% This function finds all prime numbers less than or equal to n using
% the Sieve of Eratosthenes algorithm.
% Initialize an array of logical values indicating whether each number is prime
is_prime = true(1, n);
% Set the first two elements to false (0 and 1 are not prime)
is_prime(1:2) = false;
% Loop through the remaining numbers up to sqrt(n)
for ii = 2:sqrt(n)
% If the current number is prime
if is_prime(ii)
% Mark all multiples of the current number as not prime
is_prime(ii^2:ii:n) = false;
end
end
% Find all indices of the remaining true values in the is_prime array
primes = find(is_prime);
end
```
你可以调用这个函数来找到所有不大于给定数的素数。例如,要找到所有不大于100的素数,可以运行以下命令:
```matlab
primes = find_primes(100)
```
这将返回一个包含素数的向量 `[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97]`。
阅读全文