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数组中。否则移动到下一个数字。此过程持续到数组的末尾。

结论

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

更新于: 2023年1月17日

2K+浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告