使用函数显示区间内素数的Swift程序


本教程将讨论如何编写使用函数显示区间内素数的Swift程序。

素数是指大于1且只有两个因数(1和它本身)的数。例如,7是素数,因为它只有1和7两个因数。

以下是演示:

输入

假设给定的输入是:

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 - 声明上下限区间。

步骤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
      }
      // 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){
         if ((x % y) == 0){
            flag = 1
            break
         }
      }
      // If the flag = 0 then the number is prime number
      if (flag == 0){
         print(x)
      }
   }
}
var x = 5
var y = 19
print("Prime numbers in between (x) to (y) are:")
FindPrimeNumber(lowerInterval: x, upperInterval: y)

输出

Prime numbers in between 5 to 19 are:
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,则该数字不是素数,所以标志 = 1,并中断循环。如果余数不等于0,则该数字是素数,所以标志 = 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

更新于:2022年12月13日

199次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告