问题描述】编写函数isPrime(n)来判断一个正整数n是否是素数,如果是返回True,不是则返回False。输入一个列表,将列表ls中的素数去除,并输出去除素数后列表ls 【样例输入】[5,16,11,13,27,67,11,97,397,256,433,101] 【样例输出】[16,27,256]
时间: 2023-07-31 07:09:45 浏览: 64
以下是Python代码实现:
```python
def isPrime(n):
"""
判断一个数是否为素数
"""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def removePrimes(ls):
"""
去除列表中的素数
"""
res = []
for num in ls:
if not isPrime(num):
res.append(num)
return res
# 测试
ls = [5,16,11,13,27,67,11,97,397,256,433,101]
print(removePrimes(ls)) # 输出[16, 27, 256]
```
首先定义一个函数 `isPrime(n)`,用于判断一个数是否为素数。如果一个数小于等于1,那么它不是素数。如果一个数大于1,那么从2到它的平方根之间枚举每个数,如果存在一个数能够整除该数,则该数不是素数,否则就是素数。
然后定义一个函数 `removePrimes(ls)`,用于去除列表中的素数。遍历列表中的每个数,如果该数不是素数,则加入到结果列表中。最后返回结果列表。
在主程序中,定义一个列表 `ls`,将其作为参数传入函数 `removePrimes(ls)`,输出去除素数后的结果。
阅读全文