使用函式顯示區間內素數的Swift程式
本教程將討論如何編寫使用函式顯示區間內素數的Swift程式。
素數是指大於1且只有兩個因數(1和它本身)的數。例如,7是素數,因為它只有1和7兩個因數。
以下是演示:
輸入
假設給定的輸入是:
Lower Interval = 18 Upper Interval = 42
輸出
期望的輸出是:
Prime numbers between 18 to 42 are 19 23 29 31 37 41
演算法
以下是演算法:
步驟1 - 建立一個函式
步驟2 - 迭代給定區間內的每個數字。
步驟3 - 跳過1和0,因為它們不是素數。
步驟4 - 宣告一個標誌變數。它表示給定數字是否是素數。如果標誌 = 0,則該數字是素數;否則不是。
步驟5 - 執行另一個for迴圈來檢查給定數字是否是素數。
步驟6 - 宣告上下限區間。
步驟7 - 呼叫函式並將上下限區間作為引數傳遞。
步驟8 - 列印輸出。
示例1
下面的程式演示瞭如何使用函式顯示區間內的素數。
import Foundation
import Glibc
func FindPrimeNumber(lowerInterval: Int, upperInterval: Int){
for x in stride(from:lowerInterval, to: upperInterval+1, by:1){
if (x == 0 || x == 1){
continue
}
// Flag tells if x is a prime number or not
var flag = 0
for y in stride(from:2, to: x/2 + 1, by:1){
if ((x % y) == 0){
flag = 1
break
}
}
// If the flag = 0 then the number is prime number
if (flag == 0){
print(x)
}
}
}
var x = 5
var y = 19
print("Prime numbers in between (x) to (y) are:")
FindPrimeNumber(lowerInterval: x, upperInterval: y)
輸出
Prime numbers in between 5 to 19 are: 5 7 11 13 17 19
在上面的程式碼中,我們建立了一個名為FindPrimeNumber()的函式。在這個函式中,我們找到5到19之間的素數。在這裡,我們使用了巢狀的for迴圈以及stride()函式。外部for迴圈用於迭代給定區間內的每個數字,內部for迴圈用於透過查詢餘數來檢查給定數字是否是素數。
for y in stride(from:2, to: x/2 + 1, by:1){
if ((x % y) == 0){
flag = 1
break
}
}
如果餘數等於0,則該數字不是素數,所以標誌 = 1,並中斷迴圈。如果餘數不等於0,則該數字是素數,所以標誌 = 0,並顯示該數字。這個過程將持續到上限區間。
示例2
下面的程式演示瞭如何使用函式顯示區間內的素數。
import Foundation
import Glibc
func FindPrimeNumber(number: Int)->Int{
var flag = 1
for x in stride(from:2, to: number/2 + 1, by:1){
if ((number % x) == 0){
flag = 0
break
}
}
return flag
}
var x = 1
var y = 19
print("Prime numbers in between (x) to (y) are:")
for k in x...y{
if (k == 0 || k == 1){
continue
}
let flag = FindPrimeNumber(number: k)
if (flag == 1){
print(k)
}
}
輸出
Prime numbers in between 1 to 19 are: 2 3 5 7 11 13 17 19
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP