输入两个整数a,b,输出在a和b之间的所有素数
时间: 2023-06-19 07:08:07 浏览: 66
以下是 Python 代码实现:
```python
def is_prime(n):
"""判断一个数是否为素数"""
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def primes_between(a, b):
"""返回在a和b之间的所有素数"""
res = []
for i in range(a, b+1):
if is_prime(i):
res.append(i)
return res
# 测试
print(primes_between(10, 20)) # 输出 [11, 13, 17, 19]
```
首先定义一个函数 `is_prime(n)`,用来判断一个数是否为素数,如果是返回 True,否则返回 False。这个函数使用了一个常见的优化方法,即只需要判断 n 是否能被 2 到根号 n 中的任意一个整数整除即可,如果存在这样的整数,则 n 不是素数;否则 n 是素数。
接着定义一个函数 `primes_between(a, b)`,用来返回在 a 和 b 之间的所有素数。这个函数使用一个循环遍历 a 到 b 中的所有整数,如果该整数是素数,则添加到结果列表中。
最后对函数进行测试,打印在 10 到 20 之间的所有素数。
相关问题
输入两个正整数a和b,输出a~b之间的所有素数
好的,让我来回答你的问题。以下是输出a~b之间的所有素数的代码:
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def prime_numbers(a, b):
primes = []
for i in range(a, b + 1):
if is_prime(i):
primes.append(i)
return primes
a = int(input("请输入a:"))
b = int(input("请输入b:"))
print(prime_numbers(a, b))
```
希望这个代码能够帮到你!
输入两个正整数a和b,输出a~b之间的所有素数用循环语句
以下是代码示例:
```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
-- 输入两个正整数a和b,输出a~b之间的所有素数
function print_primes(a, b)
for i = a, b do
if is_prime(i) then
print(i)
end
end
end
-- 测试代码
print_primes(1, 20)
```
输出结果:
```
2
3
5
7
11
13
17
19
```