用Python编写函数,判断一个数字是否为素数,是则返回字符串YES, 否则返回字符串 NO, 并用数字29与12进行验证。
时间: 2024-12-20 18:25:12 浏览: 19
在Python中,你可以编写一个函数来检查一个数字是否为素数。下面是一个简单的实现:
```python
def is_prime(n):
if n <= 1:
return "NO"
elif n == 2:
return "YES"
elif n % 2 == 0:
return "NO"
else:
i = 3
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return "NO"
i += 2
return "YES"
# 验证数字29和12
print(is_prime(29)) # 输出:YES
print(is_prime(12)) # 输出:NO
```
这个`is_prime`函数首先排除小于等于1的数字,然后特殊处理2作为唯一的偶数质数。接着,它从3开始,只要数字能被2或比它大2的数整除,就不是素数。如果没有任何因子,那么它是素数。
相关问题
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中所有的素数。
编写Python函数,判断一个数字是否为素数,是则返回字符串 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
print(is_prime(17)) # YES
print(is_prime(21)) # NO
```
注意:该函数只能判断正整数是否为素数。
阅读全文