fun with number systems
play

Fun With Number Systems Or: How Knowing Number Systems Can Help You - PowerPoint PPT Presentation

Fun With Number Systems Or: How Knowing Number Systems Can Help You Interview Better Finding the Odd Ball 1 2 9 10 11 3 3 2 1 10 11 9 Goal: Find the odd ball and whether it's heavier or lighter in three weighings. The Solution 5 6


  1. Example: Three Weighings Heavier Lighter -1 00- 1 00+ -2 0-+ 2 0+- -3 0-0 3 0+0 -4 0-- 4 0++ -5 -++ 5 +-- -6 -+0 6 +-0 -7 -+- 7 +-+ 8 +0- -8 -0+ 9 +00 -9 -00 10 +0+ -10 -0- -11 --+ 11 ++- 12 ++0 -12 --0

  2. Example: Three Weighings Heavier Lighter -1 00- 1 00+ -2 0-+ 2 0+- -3 0-0 3 0+0 -4 0-- 4 0++ -5 -++ 5 +-- -6 -+0 6 +-0 -7 -+- 7 +-+ 8 +0- -8 -0+ 9 +00 -9 -00 10 +0+ -10 -0- -11 --+ 11 ++- 12 ++0 -12 --0

  3. Example: Four Weighings 1 000+ 14 +--- 27 +000 2 00+- 15 +--0 28 +00+ 3 00+0 16 +--+ 29 +0+- 4 00++ 17 +-0- 30 +0+0 5 0+-- 18 +-00 31 +0++ 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ 35 ++0- 10 0+0+ 23 +0-- 36 ++00 11 0++- 24 +0-0 37 ++0+ 12 0++0 25 +0-+ 38 +++- 13 0+++ 26 +00- 39 +++0 40 ++++

  4. Example: Four Weighings 1 000+ 14 +--- 27 +000 2 00+- 15 +--0 28 +00+ 3 00+0 16 +--+ 29 +0+- 4 00++ 17 +-0- 30 +0+0 5 0+-- 18 +-00 31 +0++ 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ 35 ++0- 10 0+0+ 23 +0-- 36 ++00 11 0++- 24 +0-0 37 ++0+ 12 0++0 25 +0-+ 38 +++- 13 0+++ 26 +00- 39 +++0 40 ++++

  5. Example: Four Weighings 1 000+ 14 +--- 27 +000 2 00+- 15 +--0 28 +00+ 3 00+0 16 +--+ 29 +0+- 4 00++ 17 +-0- 30 +0+0 5 0+-- 18 +-00 31 +0++ 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ 35 ++0- 10 0+0+ 23 +0-- 36 ++00 11 0++- 24 +0-0 37 ++0+ 12 0++0 25 +0-+ 38 +++- 13 0+++ 26 +00- 39 +++0

  6. Example: Four Weighings 1 000+ 14 +--- 27 +000 2 00+- 15 +--0 28 +00+ 3 00+0 16 +--+ 29 +0+- 4 00++ 17 +-0- 30 +0+0 5 0+-- 18 +-00 31 +0++ 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ 35 ++0- 10 0+0+ 23 +0-- 36 ++00 11 0++- 24 +0-0 37 ++0+ 12 0++0 38 +++- 25 +0-+ 13 0+++ 26 +00- 39 +++0

  7. Example: Four Weighings 1 000+ 14 +--- -27 -000 2 00+- 15 +--0 -28 -00- 3 00+0 16 +--+ -29 -0-+ 4 00++ 17 +-0- -30 -0-0 5 0+-- 18 +-00 -31 -0-- 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ -35 --0+ 10 0+0+ -23 -0++ -36 --00 11 0++- -24 -0+0 -37 --0- 12 0++0 38 +++- -25 -0+- 13 0+++ -26 -00+ -39 ---0

  8. Example: Four Weighings 1 000+ 14 +--- -27 -000 2 00+- 15 +--0 -28 -00- 3 00+0 16 +--+ -29 -0-+ 4 00++ 17 +-0- -30 -0-0 5 0+-- 18 +-00 -31 -0-- 6 0+-0 19 +-0+ 32 ++-- 7 0+-+ 20 +-+- 33 ++-0 8 0+0- 21 +-+0 34 ++-+ 9 0+00 22 +-++ -35 --0+ 10 0+0+ -23 -0++ -36 --00 11 0++- -24 -0+0 -37 --0- 12 0++0 -25 -0+- 38 +++- 13 0+++ -26 -00+ -39 ---0

  9. Some Insights ● What number did we drop? ● With 2 trits, dropped ++. ● With 3 trits, dropped +++. ● With 4 trits, dropped ++++. ● Always drop ++…++ ● What numbers did we invert? ● With two trits: +0 ● With three trits: ++0, +0-, +00, +0- ● With four trits: +++0, ++0-, ++00, ++0+, +0--, +0-0, +0-+, +00-, +000, +00+, +0+-, +0+0, +0++ ● Always invert numbers starting with ++…++0. ● This always works!

  10. How Many Extra +s Per Column? ● Answer: The 3 j column has (3 j – 1) / 2 extra +'s. 0+ +- +0

  11. How Many Extra +s Per Column? ● Answer: The 3 j column has (3 j – 1) / 2 extra +'s. 00+ 0+- 0+0

  12. How Many Extra +s Per Column? ● Answer: The 3 j column has (3 j – 1) / 2 extra +'s. 00+ 0+- 0+0 0++ +-- +-0 +-+ +0- +00 +0+ ++- ++0

  13. How Many Extra +s Per Column? ● Answer: The 3 j column has (3 j – 1) / 2 extra +'s. 00+ 0+- 0+0 0++ +-- +-0 +-+ +0- +00 +0+ ++- ++0

  14. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s.

  15. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s. 0+ +- +0

  16. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s. 0+ +- +0

  17. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s. 00+ 0+- 0+0 0++ +-- +-0 +-+ +0- +00 +0+ ++- ++0

  18. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s. 00+ 0+- 0+0 0++ +-- +-0 +-+ +0- +00 +0+ ++- ++0

  19. How Many +'s Get Flipped? ● Answer: The 3 j column has (3 j -1) / 2 flipped +'s. 00+ 0+- 0+0 0++ j − 1 j − 1 i = 3 ∑ +-- 3 +-0 2 i = 0 +-+ +0- +00 +0+ ++- ++0

  20. Summary ● A three-way scale lends itself naturally to a balanced ternary encoding for each of the balls. ● Given an encoding with the same number of +'s and -'s in each column, we can use the scale to read off one trit of the answer at a time. ● Flipping numbers starting with +0, ++0, etc. guarantees an encoding with this property.

  21. Generating Permutations

  22. “You are given a sorted string S of unique characters. Write a Java-style iterator that traverses all the permutations of S in lexicographical order.”

  23. Example

  24. Example abc

  25. Example abc acb bac bca cab cba

  26. Example 0 abc 1 acb 2 bac 3 bca 4 cab 5 cba

  27. Lehmer Codes B A E D C

  28. Lehmer Codes B A E D C

  29. Lehmer Codes B A E D C

  30. Lehmer Codes B A E D C 1

  31. Lehmer Codes B A E D C 1

  32. Lehmer Codes B A E D C 1

  33. Lehmer Codes B A E D C 1 0

  34. Lehmer Codes B A E D C 1 0

  35. Lehmer Codes B A E D C 1 0

  36. Lehmer Codes B A E D C 1 0

  37. Lehmer Codes B A E D C 1 0 2

  38. Lehmer Codes B A E D C 1 0 2

  39. Lehmer Codes B A E D C 1 0 2

  40. Lehmer Codes B A E D C 1 0 2

  41. Lehmer Codes B A E D C 1 0 2 1

  42. Lehmer Codes B A E D C 1 0 2 1

  43. Lehmer Codes B A E D C 1 0 2 1

  44. Lehmer Codes B A E D C 1 0 2 1 0

  45. Lehmer Codes B A E D C 1 0 2 1 0

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend