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步 - 检查和是否等于数字本身。如果是,则此函数返回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。在找到给定数字的所有除数之和后,comparesum ==数字。如果除数之和等于数字本身,则该函数返回真,这意味着该数字是完美数字。如果除数之和不等于数字本身,则该函数返回false,这意味着该数字不是一个完美的数字。因此,这就是我们如何检查给定的数字是否是一个完美的数字。