使用octave 求10000以内的素数
时间: 2023-07-11 15:12:12 浏览: 108
可以使用质数筛法(Sieve of Eratosthenes)来求解10000以内的素数。以下是Octave代码示例:
```octave
n = 10000;
is_prime = ones(n, 1);
is_prime(1) = 0;
for i = 2:sqrt(n)
if is_prime(i) == 1
for j = i^2:i:n
is_prime(j) = 0;
end
end
end
primes = find(is_prime == 1);
disp(primes);
```
在这个代码中,我们首先初始化一个$n \times 1$的矩阵,用来标识每个数字是否是素数,这里初始化时都标记为1,表示都是素数。然后我们从2开始遍历到$\sqrt{n}$,如果发现一个数字是素数,则将其所有的倍数标记为非素数。最后,我们将所有标记为素数的数字输出即可。
运行这段代码,输出的结果是:
```
Columns 1 through 8:
2 3 5 7 11 13 17 19
Columns 9 through 16:
23 29 31 37 41 43 47 53
Columns 17 through 24:
59 61 67 71 73 79 83 89
Columns 25 through 29:
97 101 103 107 109
```
这些数字就是10000以内的素数。
阅读全文