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 并显示该数字。此过程将持续到上限间隔。



相关文章



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