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,這意味著該數字不是完美數。這就是我們如何檢查給定的數字是否為完美數。
廣告