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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告