0
How can we find the HCF or GCD and LCM of two given numbers using swift?
4 Respuestas
+ 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







