Swift 程序从数组中查找素数
在本文中,我们将学习如何编写一个 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 数组中。否则,移至下一个数字。此过程持续到数组末尾。
结论
因此,这就是我们如何使用两种不同的方法从数组中查找素数的方法。在第一种方法中,我们创建了一个用户定义函数,并在主函数中调用该函数。在第二个示例中,我们在主函数中执行了该函数。