判断一个数是否为对称且不大于五位数的素数。
时间: 2023-04-10 14:03:05 浏览: 198
以下是 Lua 代码实现:
```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
-- 判断一个数是否为对称数
function is_palindrome(num)
local str = tostring(num)
local len = #str
for i = 1, len / 2 do
if str:sub(i, i) ~= str:sub(len - i + 1, len - i + 1) then
return false
end
end
return true
end
-- 判断一个数是否为对称且不大于五位数的素数
function is_palindrome_prime(num)
if num > 99999 then
return false
end
return is_prime(num) and is_palindrome(num)
end
-- 测试
print(is_palindrome_prime(131)) -- true
print(is_palindrome_prime(1313)) -- false
print(is_palindrome_prime(12321)) -- true
print(is_palindrome_prime(123321)) -- false
print(is_palindrome_prime(123454321)) -- true
```
以上代码中,`is_prime` 函数用于判断一个数是否为素数,`is_palindrome` 函数用于判断一个数是否为对称数,`is_palindrome_prime` 函数则用于判断一个数是否为对称且不大于五位数的素数。
阅读全文