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並顯示該數字。此過程將持續到上限區間。
廣告