0
How can we find the HCF or GCD and LCM of two given numbers using swift?
4 Réponses
+ 1
//I wrote two ways to do HCF or GCD
// #1
func hcf(num1: Int, num2: Int) -> Int {
var numA = num1
var numB = num2
while numA != 0 && numB != 0 {
if numA >= numB {
numA %= numB
} else {
numB %= numA
}
}
return max(numA, numB)
}
hcf(num1: 175, num2: 50) // get 25
//#2
func gcd(num1: Int, num2: Int) -> Int {
if num2 == 0 {
return num1
}else {
return gcd(num1: num2, num2: num1 % num2)
}
}
gcd(num1: 175, num2: 50) //get 25 too
// lcm * gcd = num1 * num2
func lcm(num1: Int, num2: Int) -> Int {
return num1 * num2 / gcd(num1: num1, num2: num2)
}
lcm(num1: 175, num2: 50)
0
Yes ofcourse
0
Hi Ruchi Gupta
Here it is in Swift 2.2 gcf , greatest common factor.
func gcfof(inout m: Int, inout n: Int) { // used inout key to be able to modify the arguments
while n != 0 {
let remainder = m % n
m = n
n = remainder
}
print(m)
}
// Example
var a = 120
var b = 16
print("The greatest common factor of \(a) and \(b) is", terminator: " ")
gcfof(&a, n: &b) // & before the argument to tell to the compiler that I am changing this inputs
/*Output
The greatest common factor of 120 and 16 is 8*/
0
For the least common factor use this formula:
lcd(a, b) = (a*b) / gcfof(a, b)
Dont forget to reset a and b between gcfof(a,b) and lcd(a,b) to what you set them before cause they are modified you call gcf function
example:
var a = 120
var b = 16
gcf(a,b) >>>>> 8
a = 120
b = 16
lcd(a, b) >>>> 240