Swift程式:顯示兩個區間之間的素數
本教程將討論如何編寫Swift程式來顯示兩個區間之間的素數。
素數是指大於1且只有兩個因數(1和它本身)的數。例如,3是素數,因為它只有1和3兩個因數。
以下是演示:
輸入
假設給定的輸入是:
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 - 列印輸出。
示例
以下程式顯示如何顯示兩個區間之間的素數。
import Foundation
import Glibc
// Declaring lower and upper interval
var lowerInterval = 18
var upperInterval = 36
print("Prime numbers in between (lowerInterval) to (upperInterval)")
// Iterate through each number in the given interval
// Here we use upperInterval+1 because stride () function work from 18 to 35 not 36.
for x in stride(from:lowerInterval, to: upperInterval+1, by:1){
// Here we skip 1 because 1 is not a prime number
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){
// Checking x is divisible by y, if remainder = 0 then the number is not prime number
if ((x % y) == 0){
flag = 1
break
}
}
// If the flag = 0 then the number is prime number or else it is not a prime number
if (flag == 0){
print(x)
}
}
輸出
Prime numbers in between 18 to 36 19 23 29 31
在上面的程式碼中,我們找到18到36之間的素數。這裡,我們使用巢狀for迴圈以及stride()函式。外部for迴圈用於遍歷給定區間內的每個數字,內部for迴圈用於透過查詢餘數來檢查給定數字是否為素數。
for y in stride(from:2, to: x/2 + 1, by:1){
if ((x % y) == 0){
flag = 1
break
}
}
如果餘數等於0,則該數字不是素數,因此flag=1並中斷迴圈。如果餘數不等於0,則該數字是素數,因此flag=0並顯示該數字。此過程將持續到上限區間。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP