使用函数显示区间内素数的 Swift 程序
swiftserver side programmingprogramming更新于 2025/9/19 6:22:17
本教程将讨论如何编写 Swift 程序,使用函数显示区间内素数。
素数是指大于 1 且恰好有两个因数(1 和该数本身)的数。例如,7 是质数,因为它只有两个因数:1 和 7。
以下是相同的演示 -
输入
假设给定的输入是 -
Lower Interval = 18 Upper Interval = 42
输出
所需的输出将是 -
18 到 42 之间的质数是 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
}
// 标志表明 x 是否为素数
var flag = 0
for y in stride(from:2, to: x/2 + 1, by:1){
if ((x % y) == 0){
flag = 1
break
}
}
// 如果标志 = 0,则该数字为素数
if (flag == 0){
print(x)
}
}
}
var x = 5
var y = 19
print("(x) 到 (y) 之间的质数是:")
FindPrimeNumber(lowerInterval: x, upperInterval: y)
输出
5 到 19 之间的质数是: 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,则该数不是素数,因此 flag = 1 并跳出循环。如果余数不等于 0,则该数是素数,因此 flag = 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