打印1000以内所有质数
时间: 2023-05-21 13:07:11 浏览: 83
以下是打印1000以内所有质数的完整代码:
```lua
-- 判断一个数是否为质数
function is_prime(num)
if (num <= 1) then return false end
for i=2, math.sqrt(num) do
if (num % i == 0) then return false end
end
return true
end
-- 打印1000以内所有质数
for i=2, 1000 do
if (is_prime(i)) then
print(i)
end
end
```
希望对您有所帮助!
相关问题
9.实践Matlab的循环和分支,并完成(任意一个)简单小程序的编写: A.随机生成一维数组,再使用冒泡法实现数组排序 B.计算并打印1000以内所有质数 C.随机生成一个包含1000个元素的一维整数数组,计算数组中所有能够被7整除的数的和。
对于问题9,我可以回答。
A. 以下是一个使用 Matlab 实现冒泡排序的代码:
```matlab
arr = randi([1, 100], [1, 10]); % 随机生成一维数组
disp("原数组:");
disp(arr);
% 冒泡排序
n = length(arr);
for i = 1:n-1
for j = 1:n-i
if arr(j) > arr(j+1)
tmp = arr(j);
arr(j) = arr(j+1);
arr(j+1) = tmp;
end
end
end
disp("排序后的数组:");
disp(arr);
```
此程序会生成一个长度为 10 的随机数组,再使用冒泡排序将其排序并输出结果。
B. 以下是一个使用 Matlab 判断 1000 以内质数并输出的程序:
```matlab
for i = 2:1000
is_prime = true;
for j = 2:sqrt(i)
if mod(i, j) == 0
is_prime = false;
break;
end
end
if is_prime
fprintf("%d ", i);
end
end
```
此程序会使用嵌套循环判断每一个数字是否为质数,并输出所有的质数。
C. 以下是一个使用 Matlab 计算数组中所有能够被7整除的数的和的程序:
```matlab
arr = randi([1, 100], [1, 1000]); % 随机生成包含1000个元素的一维整数数组
sum = 0;
for i = 1:length(arr)
if mod(arr(i), 7) == 0
sum = sum + arr(i);
end
end
disp("所有能够被7整除的数的和是:");
disp(sum);
```
此程序会生成一个包含 1000 个元素的随机整数数组,再循环遍历数组并计算能够被 7 整除的数的和并输出结果。
求1000以内的所有质数C语言
以下是求1000以内的所有质数的C语言代码:
```c
#include <stdio.h>
int main() {
int i, j, flag;
for(i=2; i<=1000; i++) {
flag = 0;
for(j=2; j<=i/2; j++) {
if(i%j == 0) {
flag = 1;
break;
}
}
if(flag == 0) {
printf("%d ", i);
}
}
return 0;
}
```
解释一下代码:首先从2开始遍历到1000,对于每个数字i,内层循环从2到i/2遍历,判断i是否能够被整除,如果能够被整除则说明i不是质数,标记flag为1,跳出内层循环。如果内层循环结束后flag还是0,说明i是质数,打印输出即可。