geohash.go 292 B

1234567891011121314151617181920212223
  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func main() {
  6. var n int
  7. fmt.Scan(&n)
  8. beg, end := -90, 90
  9. code := make([]rune, 6)
  10. for i := 0; i < 6; i++ {
  11. mid := (beg + end) / 2
  12. if mid <= n {
  13. code[i] = '1'
  14. beg = mid
  15. } else {
  16. code[i] = '0'
  17. end = mid
  18. }
  19. }
  20. fmt.Println(string(code))
  21. }