Swift 程式語言求兩個數的最小公倍數


本教程將討論如何編寫一個 Swift 程式來查詢兩個數字的最小公倍數。

最小公倍數也稱為最小公倍數。它用於計算兩個或多個數字之間最小的公倍數。這裡的公倍數表示兩個或多個數字的倍數。例如,我們有兩個數字 10 和 8

10 的因數 = 2 x 5

8 的因數 = 2 x 2 x 2

兩個因數的並集 = 2 x 2 x 2 x 5 = 40

所以 10 和 8 的最小公倍數是 40。

這是查詢最小公倍數的簡單方法,但查詢最小公倍數最有效的方法是使用以下公式。

公式

以下是最小公倍數的公式:

LCM(n, m) = n *m/gcd(n, m)

這裡 gcd 表示最大公約數。

下面是相同內容的演示:

輸入

假設我們的給定輸入是:

Number 1 - 10
Number 2 - 8

輸出

期望的輸出將是:

LCM 40

演算法

以下是演算法:

  • 步驟 1 - 建立一個名為 findGCD() 的函式。此函式返回兩個數字的最大公約數。

  • 步驟 2 - 建立另一個名為 findLCM 的函式。此函式返回兩個數字的最小公倍數。

return (n1 * n2/findGCD(n1, n2))
  • 步驟 3 - 呼叫 findLCM() 函式並在其中傳遞兩個引數。此處引數的值可以是使用者定義的或預定義的。

  • 步驟 4 - 列印輸出

示例 1

以下程式顯示瞭如何查詢兩個數字的最小公倍數。

import Swift import Foundation // Function to find gcd of two numbers func findGCD(_ num1: Int, _ num2: Int) -> Int { var x = 0 // Finding maximum number var y: Int = max(num1, num2) // Finding minimum number var z: Int = min(num1, num2) while z != 0 { x = y y = z z = x % y } return y } // Function to find lcm of two numbers func findLCM(n1: Int, n2: Int)->Int{ return (n1 * n2/findGCD(n1, n2)) } // Calling Function var result = findLCM(n1: 10, n2:8) print("LCM of 10 and 8 is ", result)

輸出

LCM of 10 and 8 is 40

在這裡,在上面的程式碼中,我們建立了一個名為 findGCD() 的函式來查詢兩個數字的最大公約數。我們建立了另一個名為 findLCM() 的函式,使用數學公式查詢兩個數字的最小公倍數:

return (n1 * n2/findGCD(n1, n2))

現在我們呼叫 findLCM() 函式並在其中傳遞兩個引數,即 10 和 8,並顯示 10 和 8 的最小公倍數,即 40。

示例 2

以下程式顯示瞭如何查詢兩個數字的最小公倍數。

import Swift import Foundation // Function to find gcd of two numbers func findGCD(_ num1: Int, _ num2: Int) -> Int { var x = 0 // Finding maximum number var y: Int = max(num1, num2) // Finding minimum number var z: Int = min(num1, num2) while z != 0 { x = y y = z z = x % y } return y } // Function to find lcm of two numbers func findLCM(n1: Int, n2: Int)->Int{ return (n1 * n2/findGCD(n1, n2)) } // Taking input from the user print("Please enter the value of number 1:") var number1 = Int(readLine()!)! print("Please enter the value of number 2:") var number2 = Int(readLine()!)! // Calling Function var result = findLCM(n1: number1, n2:number2) print("So the LCM of \(number1) and \(number2) is ", result)

標準輸入

Please enter the value of number 1: 
26 
Please enter the value of number 2: 
35

輸出

So the LCM of 26 and 35 is 910

在這裡,在上面的程式碼中,我們建立了一個名為 findGCD() 的函式來查詢兩個數字的最大公約數。我們建立了另一個名為 findLCM() 的函式,使用數學公式查詢兩個數字的最小公倍數:

return (n1 * n2/findGCD(n1, n2))

在這裡,我們使用 readLine() 函式從使用者那裡獲取兩個整數型別的數字。並呼叫 findLCM() 函式並將這兩個數字作為引數傳遞並顯示輸出。假設使用者輸入 number1 = 26 和 number2 = 35,則它們的最小公倍數為 910。

更新於: 2022-08-18

727 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.