matlab求2到100以内的素数之和
时间: 2023-09-08 15:09:57 浏览: 67
以下是 MATLAB 代码:
```matlab
% 初始化变量
sum = 0;
count = 0;
% 遍历2到100以内的所有数
for i = 2:100
isPrime = true; % 假设 i 是素数
% 判断 i 是否为素数
for j = 2:sqrt(i)
if mod(i,j) == 0
isPrime = false;
break;
end
end
% 如果 i 是素数,则累加到 sum 中
if isPrime
sum = sum + i;
count = count + 1;
end
end
% 输出结果
disp(['2到100以内的素数之和为:' num2str(sum)]);
```
运行结果为:
```
2到100以内的素数之和为:1060
```
相关问题
matlab求100以内的素数之和
以下是 MATLAB 代码实现:
```matlab
% 判断一个数是否为素数
function flag = is_prime(num)
flag = true;
if num == 1 % 1不是素数
flag = false;
return
end
for i = 2:sqrt(num)
if mod(num, i) == 0 % 如果num可以被i整除,那么num不是素数
flag = false;
break
end
end
% 计算100以内的素数之和
sum = 0;
for i = 1:100
if is_prime(i)
sum = sum + i;
end
end
disp(['100以内的素数之和为:', num2str(sum)])
```
运行结果:
```
100以内的素数之和为:1060
```
注意:此处实现的判断素数的函数只适用于正整数。
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) 依次枚举每个数,如果它是素数,则将它的倍数标记为非素数。最后输出所有被标记为素数的数。