Advertisement
Guest User

Untitled

a guest
May 28th, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "io/ioutil"
  6. "math/big"
  7. "os"
  8. )
  9.  
  10. func main() {
  11. b, _ := ioutil.ReadAll(os.Stdin)
  12. i := 0
  13. j := len(b)-1
  14. for j >= i {
  15. b[i], b[j] = b[j], b[i]
  16. i++
  17. j--
  18. }
  19. var bi big.Int
  20. bi.SetBytes(b)
  21. blen := uint(bi.BitLen())
  22. var x uint
  23. xi := make([]rune, 0)
  24. for i := uint(0); i < blen; i++ {
  25. x = bi.Bit(int(i)) | (x << 1)
  26. if (i%14) == 0 && i != 0 {
  27. xi = append(xi, 0x20000+rune(x))
  28. x = 0
  29. }
  30. }
  31. if x != 0 {
  32. xi = append(xi, 0x20000+rune(x))
  33. }
  34. fmt.Println(string(xi))
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement