Swift 程序从数组中查找素数

swiftserver side programmingprogramming更新于 2025/9/16 11:22:17

在本文中,我们将学习如何编写一个 Swift 程序从数组中查找素数。

素数是指只能被 1 和其本身整除的数。或者说,素数只有两个因数:1 和其本身。例如,1、2、7、3、11、31 等。因此,要从给定数组中查找素数,我们需要分别检查数组中的每个元素是否为素数。

算法

  • 步骤 1 - 创建一个函数。

  • 步骤 2 - 检查数字是否大于等于 1。如果是,则返回 true。

  • 步骤 3 − 运行从 2 到 num-1 的 for 循环。

  • 步骤 4 − 检查 num 是否可以被其他数字整除。如果是,则返回 false。否则返回 true。

  • 步骤 5 - 创建一个整数类型的数组。

  • 步骤 6 - 运行 for 循环遍历数组的每个元素。

  • 步骤 7 - 将每个元素传入函数以检查其是否为素数。

  • 步骤 8 - 打印输出。

示例 1

按照 Swift 程序从数组中查找素数。

import Foundation
import Glibc

// 检查数字是否为素数的函数
func CheckPrime(_ num: Int) -> Bool {
   if num <= 1 {
       return false
   }
   for i in 2..<num  {
      if num % i == 0 {
         return false
       }
   }
   return true
}

// 创建一个整数类型的数组
let mArr = [11, 97, 43, 24, 601, 444, 733]
print("原始数组:", mArr)
print("素数为:")

// 检查并打印素数
for n in mArr  {
   if CheckPrime(n)  {
      print(n)
   }
}

输出

原始数组:[11, 97, 43, 24, 601, 444, 733]
素数为:
11
97
43
601
733

上面的代码中,我们有一个整数类型的数组。现在我们创建一个函数来从给定的数组中查找素数。在这个函数中,首先我们检查数字是否小于或等于 1。如果数字为 1 或小于 1,则返回 false,因为 1 不是素数。如果数字大于 1,则转到从 2 到 num-1 的 for 循环,检查 num 是否可以被其中任何一个整除。如果是,则此函数返回 false。否则返回 true。

示例 2

以下 Swift 程序用于从数组中查找素数。

import Foundation
import Glibc

// 检查数字是否为素数的函数
func CheckPrime(_ num: Int) -> Bool {
   if num <= 1  {
      return false
   }
   for i in 2..<num  {
      if num % i == 0  {
         return false
      }
   }
   return true
}

// 创建一个整数类型的数组
let mArr = [733, 10, 11, 53, 24, 151]
print("原始数组:", mArr)

let primeNum = mArr.filter { CheckPrime($0) }
print("素数为:", primeNum)

输出

原始数组:[733, 10, 11, 53, 24, 151]
素数为:[733, 11, 53, 151]

上面的代码中,我们有一个整数类型的数组。现在我们创建一个函数来检查给定的数字是否为素数。因此,我们使用 filter() 函数创建一个数组,其中包含所有满足给定条件 { CheckPrime($0) } 的元素。这里,filter() 函数将 mArr 数组的每个元素传递给 CheckPrime() 函数,以检查给定的数字是否为素数。如果数字是素数,则将结果存储在 primeNum 数组中。否则,移至下一个数字。此过程持续到数组末尾。

结论

因此,这就是我们如何使用两种不同的方法从数组中查找素数的方法。在第一种方法中,我们创建了一个用户定义函数,并在主函数中调用该函数。在第二个示例中,我们在主函数中执行了该函数。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部