Swift程序:检查给定数字是否为完美数


完美数是一个正整数,等于其所有真因子(不包括自身)之和。例如:

数字 = 6

真因子 = 1, 2, 3

因此,6是完美数,因为其因子的和为6 (1+2+3)

数字 = 10

真因子 = 1, 2, 5

因此,10不是完美数,因为其因子的和为8 (1+2+5)

在这篇文章中,我们将学习如何编写一个Swift程序来检查给定的数字是否为完美数。

算法

步骤1 - 创建一个函数。

步骤2 - 创建一个变量来存储因子的和,sum = 0。

步骤3 - 从1到number-1运行一个for循环,找到所有因子并将其加起来。

步骤4 - 检查sum是否等于数字本身。如果是,则函数返回true。否则返回false。

步骤5 - 创建一个变量来存储输入的数字。

步骤6 - 将输入的数字传递给函数。

步骤7 - 打印输出。

示例

以下是一个Swift程序,用于检查给定的数字是否为完美数。

import Foundation
import Glibc

// Function to check if the given number is perfect number or not
func checkPerfect(number: Int) -> Bool {
   var sum = 0

   // Finding all the divisor and add them
   for x in 1..<number {
      if number % x == 0 {
         sum += x
      }
   }
   return sum == number
}

// Input 1
let N1 = 28
print("Is \(N1) is a perfect number?:", checkPerfect(number:N1))

// Input 2
let N2 = 8128
print("Is \(N2) is a perfect number?:", checkPerfect(number:N2))

// Input 3
let N3 = 21
print("Is \(N3) is a perfect number?:", checkPerfect(number:N3))

输出

Is 28 is a perfect number?: true
Is 8128 is a perfect number?: true
Is 21 is a perfect number?: false

结论

在上面的代码中,我们创建了一个名为checkPerfect()的函数来检查给定的数字是否为完美数。此函数接收一个正整数作为输入,然后运行一个for循环来迭代从1到number-1的每个数字。在for循环内部,检查'number'是否能被当前迭代器'x'整除。如果是,则将'x'添加到'sum'。否则,移动到下一个值,此过程持续到数字1。在找到给定数字的所有因子的和之后,比较sum == number。如果因子的和等于数字本身,则此函数返回true,这意味着该数字是完美数。如果因子的和不等于数字本身,则此函数返回false,这意味着该数字不是完美数。这就是我们如何检查给定的数字是否为完美数。

更新于:2023年2月16日

432 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告