matlab求100以内的素数之和
时间: 2023-08-23 09:37:38 浏览: 254
以下是使用 MATLAB 求解100以内的素数之和的代码:
```matlab
sum = 0;
for i = 2:100
is_prime = true;
for j = 2:sqrt(i)
if mod(i,j) == 0
is_prime = false;
break;
end
end
if is_prime
sum = sum + i;
end
end
disp(['100以内的素数之和为: ', num2str(sum)]);
```
运行结果为:
```
100以内的素数之和为: 1060
```
注意:该代码仅供参考,可能不是最优解。
相关问题
matlab求1000以内素数
以下是 MATLAB 代码,可以求出 1000 以内的素数:
```matlab
% 初始化变量
n = 1000;
is_prime = true(1, n);
% 剔除 1 和偶数
is_prime(1) = false;
for i = 4:2:n
is_prime(i) = false;
end
% 埃拉托色尼筛法
for i = 3:sqrt(n)
if is_prime(i)
for j = i^2:i:n
is_prime(j) = false;
end
end
end
% 打印素数
fprintf('2 ');
for i = 3:n
if is_prime(i)
fprintf('%d ', i);
end
end
```
运行代码后,会输出 2 到 1000 之间的素数。
matlab求10000以内素数
以下是 MATLAB 代码,可以求出 10000 以内的素数:
```matlab
% 求10000以内的素数
n = 10000;
prime = true(1, n);
prime(1) = false;
for i = 2:sqrt(n)
if prime(i)
for j = i^2:i:n
prime(j) = false;
end
end
end
% 输出素数
for i = 1:n
if prime(i)
fprintf('%d ', i);
end
end
```
这段代码先设置一个长度为 n 的布尔向量 prime,用于标记每个数是否为素数。然后从 2 到 sqrt(n) 依次枚举每个数,如果它是素数,则将它的倍数标记为非素数。最后输出所有被标记为素数的数。
阅读全文