2.请编写一段 Matlab 程序,完成以下功能: (1) 找出 0 到 100 之间的所有质数,将这些质数存放在一个行数组里; (2) 求出这些质数之和; (3) 求出 0 到 100 之间的所有非质数之和(包括 0 和 100)。
时间: 2024-09-24 17:15:40 浏览: 23
在MATLAB中,你可以通过以下步骤编写程序来实现这个功能:
```matlab
% 定义函数判断是否为质数
function isPrime = isprime(n)
if n <= 1
isPrime = false;
elseif n == 2
isPrime = true;
else
for i = 2:sqrt(n)
if rem(n, i) == 0
isPrime = false;
break;
end
end
end
end
% 初始化变量
primes = [];
nonPrimesSum = 0;
totalSum = 0;
% 遍历0到100,并检查每个数字是否为质数
for num = 0:100
if isprime(num)
primes = [primes num]; % 将质数添加到数组中
totalSum = totalSum + num; % 计算质数总和
else
nonPrimesSum = nonPrimesSum + num; % 非质数之和
end
end
% 输出结果
disp(['质数:', primes])
disp(['质数之和:', totalSum])
disp(['非质数之和(含0和100):', nonPrimesSum])
阅读全文