Advertisement
alisadafi

Sqrt-D&C

Nov 9th, 2023
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.31 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "fmt"
  5. )
  6.  
  7. func sqrt(x, l, r int) int {
  8.     m := (l + r) / 2
  9.     if (m+1)*(m+1) > x && m*m <= x {
  10.         return m
  11.     }
  12.     if m*m < x {
  13.         return sqrt(x, m, r)
  14.     } else {
  15.         return sqrt(x, l, m)
  16.     }
  17. }
  18.  
  19. func main() {
  20.     // Example usage
  21.     var n int
  22.     fmt.Scan(&n)
  23.     fmt.Println(sqrt(n, 1, n))
  24. }
  25.  
Tags: D&C
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement