编写函数,判断一个数字是否为素数,是返回yes,否返回no
时间: 2024-10-19 15:14:38 浏览: 33
确定一个数字是否为素数的函数通常会检查该数字是否仅能被1和它自身整除。以下是使用Python编写的一个简单示例:
```python
def is_prime(n):
if n <= 1: # 0和1不是素数
return 'no'
elif n == 2: # 2是最小的素数
return 'yes'
else:
for i in range(2, int(n ** 0.5) + 1): # 只需检查到其平方根即可
if n % i == 0: # 如果n能被i整除,则不是素数
return 'no'
return 'yes'
# 示例用法
print(is_prime(7)) # 输出:'yes'
print(is_prime(10)) # 输出:'no'
```
这个函数首先排除小于等于1的情况,然后针对大于1的数字,只需遍历从2到其平方根的所有整数,如果找到能够整除它的数,就直接返回'no',否则遍历结束后,因为找不到其他因子,所以返回'yes'。
相关问题
python编写函数判断一个数字是否为素数,是则返回字符串yes,否则返回字符串no,再编
写一个程序,输入一个正整数n,输出1~n中所有的素数。
以下是python实现:
```python
# 判断一个数是否为素数
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 判断n以内的所有素数
def prime_numbers(n):
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return primes
# 判断单个数
num = int(input("请输入一个正整数: "))
if is_prime(num):
print("yes")
else:
print("no")
# 判断1~n中的素数
n = int(input("请输入一个正整数: "))
primes = prime_numbers(n)
print("1~{}中的素数为:".format(n), primes)
```
注意,这里使用了两个函数,一个用于判断单个数是否为素数,另一个用于求1~n中所有的素数。
编写函数,判断一个数字是否为素数,是则返回Yes,否则返回No。再编写测试函数
以下是判断素数的函数实现:
```python
def is_prime(n):
"""
判断一个数字是否为素数
"""
if n < 2: # 小于2的数字不是素数
return "No"
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return "No"
return "Yes"
```
以下是测试函数的实现:
```python
def test_is_prime():
"""
is_prime函数的测试函数
"""
assert is_prime(0) == "No"
assert is_prime(1) == "No"
assert is_prime(2) == "Yes"
assert is_prime(3) == "Yes"
assert is_prime(4) == "No"
assert is_prime(5) == "Yes"
assert is_prime(6) == "No"
assert is_prime(7) == "Yes"
assert is_prime(8) == "No"
assert is_prime(9) == "No"
assert is_prime(10) == "No"
assert is_prime(11) == "Yes"
print("所有测试通过!")
```
可以使用 `test_is_prime()` 函数来运行测试。
阅读全文