Swift 程序显示两个区间之间的素数
swiftserver side programmingprogramming更新于 2025/9/19 6:37:17
本教程将讨论如何编写 Swift 程序显示两个区间之间的素数。
素数是指大于 1 且恰好有两个因数(1 和 3)的数。例如,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
// 声明下限和上限区间
var lowerInterval = 18
var upperInterval = 36
print("介于 (lowerInterval) 和 (upperInterval) 之间的素数")
// 遍历给定区间内的每个数字
// 这里我们使用 upperInterval+1,因为 stride() 函数的步长范围是 18 到 35,而不是 36。
for x in stride(from:lowerInterval, to: upperInterval+1, by:1){
// 这里我们跳过 1,因为 1 不是质数
if (x == 0 || x == 1){
continue
}
// 标志表明 x 是否为素数
var flag = 0
for y in stride(from:2, to: x/2 + 1, by:1){
// 检查 x 是否可以被 y 整除,如果余数 = 0,则该数字不是质数
if ((x % y) == 0){
flag = 1
break
}
}
// 如果标志 = 0,则该数字为素数,否则它不是素数
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 并显示该数字。此过程将持续到上限间隔。