Lock unlock doors - PrismoSkills



Lock unlock doors - PrismoSkills

Lock unlock doors

------------------------------------------------------------------------------------

  • There are 100 doors, all closed. A man does 100 passes infront of the doors.

In 1st pass, he opens all doors. In 2nd pass, he closes all doors multiples of 2.

In 3rd pass, he opens all doors multiples of 3 and so on.

In 100th pass, he closes door no 100 only.

After 100th pass, how many doors would be open?

------------------------------------------------------------------------------------

Doors are all closed initially.

So, if a door opens and does not close till the end, then it will remain open.

Also, if a door is opened, closed and re-opened (i.e. toggled 3 times), then it will be open.

So basically if a door is toggled an odd number of times, it will be open in the end.


All doors except 1st are toggled twice - once in the first pass and once in pass numbered after the door. Example: 5th door is toggled once initially and then in the 5th pass.


Also, doors are toggled in those passes when the pass is done for one of the factors making up that door number. Example: 6 will be toggled on 2nd and 3rd pass apart from 1st and 6th pass.

So, doors with an odd number of factors will remain open after the 100th pass.

Every number who has one factor, has another factor obtained by dividing the number by first factor. Only perfect squares are the numbers where this 2nd factor is same as the first factor.

So, only perfect squares and 1st door will have an odd number of toggles and so they will remain open after 100th pass.


Corollary: What if the man only makes N/2 passes i.e. in the above case, what if he makes only 50 passes and then stops?


In such a case, doors below 50 will follow the same logic as above.

Doors above 50 will be opened at least once (in the first pass). Then for every unique factor, then will be opened and closed once. Since all number between 50 and 100 have factors between 1 and 50, we can say that the passes which were to be made after 50 would have always involved toggling of a single door always. Example, pass 51 will toggle door 51 only, pass 87 would toggle door 87 only and so on.

This implies that if no passes are made after 50, every door above 50 will be in a state opposite to that if all 100 passes were made.

So, in this case, perfect square doors would be open below 50 and all doors except perfect squares will be open above 50!


Read full article from Lock unlock doors - PrismoSkills


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