从键盘输入任意个正整数,以0结束,输出那 些正整数中的素数。matlab
时间: 2024-10-18 19:08:31 浏览: 42
ISPR - 使用 Java 确定任意大的可能素数:使用 Java 快速确定任意大的正整数是否为素数-matlab开发
在MATLAB中,你可以编写一个函数来接收用户输入的正整数序列,并通过循环遍历判断每个数字是否为素数。下面是一个简单的示例:
```matlab
function [prime_numbers] = find_primes()
% 初始化空向量存储素数
prime_numbers = [];
% 循环读取用户输入直到遇到0
while true
input_num = input('请输入一个正整数 (输入0结束): ', 's');
if isnumeric(input_num) && input_num == 0
break; % 结束输入
end
num = str2double(input_num); % 转换输入字符串为数值
% 判断是否为素数
if ~mod(num, 2) && num > 2 % 如果是偶数且大于2,则不是素数
disp([num ' 不是素数']);
else
if isprime(num) % 使用MATLAB内置isprime函数检查
prime_numbers = [prime_numbers, num]; % 如果是素数则添加到结果中
disp([num ' 是素数']);
else
disp([num ' 不是素数']);
end
end
end
% 输出所有找到的素数
disp(['找到的素数有: ', mat2str(prime_numbers)]);
end
```
运行这个函数,你可以逐个输入正整数并查看哪些是素数。当你输入0时,程序会停止并显示所有找到的素数。
阅读全文