编写一个程序,判断输入的一个数是否为质数。 用例: 输入:5 输出:5是质数
时间: 2024-10-19 19:04:36 浏览: 12
要编写一个程序来判断一个数是否为质数,可以使用以下Python代码:
```python
def is_prime(n):
if n <= 1: # 质数定义中1不是质数
return False
elif n == 2: # 2是最小的质数
return True
elif n % 2 == 0: # 偶数除以2肯定有余数,排除非质数
return False
else: # 验证n是否能被3到sqrt(n)之间的奇数整除
sqrt_n = int(n**0.5)
for i in range(3, sqrt_n + 1, 2): # 只需要检查奇数因子
if n % i == 0:
return False
return True
# 测试用例
number = 5
if is_prime(number):
print(f"{number}是质数")
else:
print(f"{number}不是质数")
```
这段代码定义了一个名为`is_prime`的函数,接受一个整数作为参数。首先处理特殊情况,如小于等于1的情况以及2这个特例。接着,对于其他数,函数会检查其是否能被2以外的奇数整除。如果找到这样的因子,就返回`False`;如果没有,那么它是质数,返回`True`。
当测试用例5调用这个函数时,会得到预期的结果。
相关问题
如果一自然数只能被1与其自身整除,那么这个自然数称为质数。请设计程序定义一个函数,用该函数判断某个数是否为质数。 测试用例:12、13。 知识关联:函数定义、调用。
在Python中,我们可以定义一个函数`is_prime(n)`来检查一个数n是否为质数。下面是一个简单的实现:
```python
def is_prime(num):
"""
判断一个数是否为质数的函数
:param num: 待判断的数字
:return: 如果num是质数,返回True;否则返回False
"""
if num < 2: # 质数定义排除1和负数
return False
for i in range(2, int(num**0.5) + 1): # 只需检查到sqrt(num),因为大于根号的因子会有一对相对应的因子小于根号
if num % i == 0: # 如果能被i整除,则不是质数
return False
return True
# 测试用例
test_cases = [12, 13]
for case in test_cases:
print(f"{case} 是质数吗?{is_prime(case)}")
#
判断一个数是否为素数设计测试用例
要判断一个数是否为素数,可以设计以下测试用例:
1. 正常情况下的素数:
输入:7
预期输出:True
2. 正常情况下的非素数:
输入:10
预期输出:False
3. 边界情况下的素数:
输入:2
预期输出:True
4. 边界情况下的非素数:
输入:1
预期输出:False
5. 大数情况下的素数:
输入:9973
预期输出:True
6. 大数情况下的非素数:
输入:10000
预期输出:False
阅读全文