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,这意味着该数字不是完美数。这就是我们如何检查给定的数字是否为完美数。
广告