matlab用for循环找出100到200之间的素数
时间: 2023-07-18 13:11:08 浏览: 98
可以使用如下代码:
```
for num = 100:200 % 遍历100到200之间的数字
isprime = true; % 假设当前数字为素数
for i = 2:sqrt(num) % 判断是否为素数
if mod(num, i) == 0 % 如果能被整除
isprime = false; % 修改为不是素数
break; % 跳出循环
end
end
if isprime % 如果是素数
disp(num); % 输出该素数
end
end
```
上述代码中,外层的 for 循环遍历100到200之间的数字,内层的 for 循环判断当前数字是否为素数,如果能被2到该数字的平方根之间的任何一个数整除,则不是素数,将 isprime 修改为 false,并跳出内层循环,继续判断下一个数字。如果 isprime 仍然为 true,则说明该数字为素数,将其输出即可。
相关问题
使用Matlab求出1到100和200之间的素数。
好的,让我来回答你的问题。以下是使用Matlab求出1到100和200之间的素数的代码:
```Matlab
% 找出1到100之间的所有素数
for i = 2 : 100
is_prime = true; % 假设i是素数
for j = 2 : floor(sqrt(i)) % 判断i是否能被2到sqrt(i)之间的数整除
if rem(i, j) == 0
is_prime = false;
break;
end
end
% 如果i是素数,输出它
if is_prime
disp(i)
end
end
% 找出100到200之间的所有素数
for i = 101 : 200
is_prime = true; % 假设i是素数
for j = 2 : floor(sqrt(i)) % 判断i是否能被2到sqrt(i)之间的数整除
if rem(i, j) == 0
is_prime = false;
break;
end
end
% 如果i是素数,输出它
if is_prime
disp(i)
end
end
```
以上是简单的算法,如果你想提高效率,可以使用更高效的算法,例如埃氏筛法。
用c语言编写可以找出100到200之间所有素数的程序
我可以提供一段示例代码,可以帮助你找出100到200之间的所有素数: #include <stdio.h>
int main ()
{
int n, i, flag;
printf("从100到200之间的素数有:");
for(n=100; n<=200;n++)
{
flag=0;
// 检查是否为素数
for(i=2; i<=n/2; i++)
{
if(n%i == 0)
{
flag=1;
break;
}
}
if(flag==0)
printf("%d ",n);
}
return 0;
}