使用函数显示区间内素数的 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


相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部