How to get the square root rounded down to the nearest integer of a positive integer in Swift

1 Answer

0 votes
import Foundation

func mySqrt(_ n: Int) -> Int {
    if n == 0 || n == 1 {
        return n
    }

    var start = 1
    var end = n

    while start <= end {
        let mid = start + (end - start) / 2
        let midSq = mid * mid

        if midSq > n {
            end = mid - 1
        } else if midSq == n {
            return mid
        } else {
            start = mid + 1
        }
    }

    return end
}

print(mySqrt(240000))  



/*
run:

489

*/

 



answered Dec 29, 2025 by avibootz

Related questions

...