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 // Function to check if a number is prime func CheckPrime(_ num: Int) -> Bool { if num <= 1 { return false } for i in 2..<num { if num % i == 0 { return false } } return true } // Creating an array of integer type let mArr = [11, 97, 43, 24, 601, 444, 733] print("Original array:", mArr) print("Prime numbers are:") // Check and print the prime numbers for n in mArr { if CheckPrime(n) { print(n) } }
输出
Original array: [11, 97, 43, 24, 601, 444, 733] Prime numbers are: 11 97 43 601 733
在上面的代码中,我们有一个整数类型的数组。现在我们创建一个函数来查找给定数组中的素数。因此,在这个函数中,我们首先检查数字是否小于或等于1。如果数字是1或小于1,则它将返回false,因为1不是素数。如果数字大于1,则它从2到num-1移动到for循环,并检查num是否可以被其中任何一个整除。如果是,则此函数返回false。否则返回true。
示例2
以下Swift程序用于查找数组中的素数。
import Foundation import Glibc // Function to check if a number is prime func CheckPrime(_ num: Int) -> Bool { if num <= 1 { return false } for i in 2..<num { if num % i == 0 { return false } } return true } // Creating an array of integer type let mArr = [733, 10, 11, 53, 24, 151] print("Original array:", mArr) let primeNum = mArr.filter { CheckPrime($0) } print("Prime numbers are:", primeNum)
输出
Original array: [733, 10, 11, 53, 24, 151] Prime numbers are: [733, 11, 53, 151]
在上面的代码中,我们有一个整数类型的数组。现在我们创建一个函数来检查给定的数字是否是素数。因此,现在我们使用filter()函数创建一个数组,该数组包含满足给定条件的所有元素,即{ CheckPrime($0) }。在这里,filter()函数将mArr数组的每个元素传递给CheckPrime()以检查给定的数字是否是素数。如果数字是素数,则结果将存储在primeNum数组中。否则移动到下一个数字。此过程持续到数组的末尾。
结论
因此,这就是我们如何使用两种不同的方法从数组中查找素数。在第一种方法中,我们创建了一个用户定义的函数并在主函数中调用该函数。在第二个示例中,我们在主函数内部执行了该函数。