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+瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.