鱼C论坛

 找回密码
 立即注册
查看: 3396|回复: 6

[已解决]找出自然数列表中的素数,并放入另外一个列表,然后输出找出的素数

[复制链接]
发表于 2023-6-4 19:29:48 | 显示全部楼层
可以使用以下算法来实现这个问题:

定义一个新的空列表 results,作为存放所有素数的容器。
循环遍历输入的列表中的每一个数字 num。
对于每个 num,循环从 2 开始遍历到 num-1。
如果存在一个小于 num 且整除 num 的整数,则 num 不是素数,退出内层循环。
如果内层循环正常结束(即没有找到任何小于 num 的因数),则将 num 添加到结果列表中。
返回结果列表。
以下是 Python 代码实现:

  1. def find_primes(nums):
  2.     results = []
  3.     for num in nums:
  4.         is_prime = True
  5.         for i in range(2, num):
  6.             if num % i == 0:
  7.                 is_prime = False
  8.                 break
  9.         if is_prime and num > 1:
  10.             results.append(num)
  11.     return results

  12. # 测试代码
  13. nums = [2, 3, 5, 7, 9, 11, 23]
  14. print(find_primes(nums))  # 输出 [2, 3, 5, 7, 11, 23]
复制代码

以上代码定义了一个名为 find_primes 的函数,接受一个列表参数 nums,返回一个新的列表,其中仅包含输入列表中的素数。可以通过传递给该函数样例输入所示的列表 nums 来测试该函数,并通过输出结果 [2, 3, 5, 7, 11, 23] 来验证它是否正确。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-17 03:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表