求 [m,n] 范围内的全部素数并输出。m、n是键盘输入的正整数,如果m、n有0及负整数,则输出“输入不是正整数!”;如果范围内有素数,则输出素数,若无素数,则输出“不存在素数!”。定义 prtPrime(m,n)函数,打印[m,n]范围内的素数,该函数返回值是找到的素数个数,同时控制一行最多是5个素数打印。
时间: 2023-05-15 10:06:54 浏览: 69
C语言程序设计-求给定正整数m以内的素数之和;例如:当m=20时,函数值为77;
5星 · 资源好评率100%
以下是 prtPrime(m,n) 函数的完整代码:
```lua
function isPrime(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
function prtPrime(m, n)
if m <= 0 or n <= 0 or m ~= math.floor(m) or n ~= math.floor(n) then
print("输入不是正整数!")
return 0
end
local count = 0
for i=m, n do
if isPrime(i) then
io.write(i, " ")
count = count + 1
if count % 5 == 0 then
io.write("\n")
end
end
end
if count == 0 then
print("不存在素数!")
else
io.write("\n")
end
return count
end
```
使用方法:
```lua
prtPrime(1, 20)
```
输出结果:
```
2 3 5 7 11
13 17 19
```
函数返回值为 8,即找到的素数个数。
阅读全文