100 Doors
The name's strange but don't fret over it's as easy as making a for loop.
Problem statement :
100 doors in a row are all initially closed.
You make 100 passes by the doors.
The first time through, visit every door and toggle the door (if the door is closed, open it; if it is open, close it).
The second time, only visit every 2nd door (door #2, #4, #6, ...), and toggle it.
The third time, visit every 3rd door (door #3, #6, #9, ...), etc, until you only visit the 100th door.
And so on it goes up to the 100th time.
First solution
Language: Python
doors = [0] * 100 #initialized all doors to a closed state
for x in range(100):
for y in range(x, 100, x + 1):
if (doors[y] == 0):
doors[y] = 1
else :
doors[y] = 0
Well, the amazing thing that caught my eye was that even after a 100 iterations of closing and opening doors the doors which were left open were the perfect squares. (why don't U try it and see the magic for your self)
Second solution
Language: Python
doors = [0] * 100
for x in range(10):
doors[x * x - 1] = 1
Well, this one's a little funny as I know that all the perfect squares doors are open. I only iterated once and simply opened only those that are perfect squares. (As easy as that.)
For more follow me on Instagram :
id : codeiswine
https://www.instagram.com/codeiswine/
Top comments (1)
Any other suggestion my ears are open, let me hear them..........