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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告