Integer midpoint | the useless stuff



Integer midpoint | the useless stuff

Given 5 points as (x,y), all x's and y's are integers, prove or disprove that there exists at lease one pair of points whose midpoint's coordinates are also integers.

Suppose you have five points viz. (3,4), (9,7), (4,12), (10,9) and (5,6). Here mid point of (3,4) and (5,6) is (4,5) which has integer coordinates. You can chose any arbitrary 5 points and see at least one pair has midpoint whose coordinates are also integers.

Proof is very trivial. if (x1,y1) and (x2,y2) are two points then their midpoint is ((x1+x2)/2, (y1+y2)/2). So for it to be integer, both (x1+x2) and (y1+y2) have to be even numbers. This is possible iff both x1,x2 and y1,y2 pairs are even-even or both are odd-odd.

Now, coordinates of any point must belong to any one of the following four category – {odd,odd}, {odd,even}, {even,odd}, {even,even}.

In the worst case four out of five points will lie in four different categories. Even then, the 5th point must belong to one which already has one point in it. So, even in the worst possible scenario, we have a pair of points whose x's and y's are pairwise odd/even. Hence the proof.


Read full article from Integer midpoint | the useless stuff


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts