Problem 46. Which doors are open?
There are n doors in an alley. Initially they are all shut. You have been tasked to go down the alley n times, and open/shut these doors in a particular manner:
- Toggle the state of each door you visit. That is, if the door is shut, open it, and if the door is open, shut it.
- On the i-th trip down the alley, start with door i and visit every i-th door.
Given n doors, return the list of open doors.
Example:
Let's say n = 3.
- On your first trip, you start from the first door and toggle every door. Now all three doors are open.
- On your second trip, you start from the second door and toggle every other door. Since there are only three doors, this means you shut the second door. Now doors 1 and 3 are open.
- On your third trip, you start from the third door and toggle every third door. Now only door 1 is open.
So:
Input n = 3 Output y is 1
Solution Stats
Problem Comments
-
9 Comments
Show
6 older comments
Justin Pinkney
on 28 Jan 2016
Yes I initially thought y = sum(open doors)
Jerivington
on 2 Jun 2016
good problem, easy solution once realising how to solve
Sanzhar Askaruly
on 17 Jun 2019
easy if to think a bit
Solution Comments
Show commentsProblem Recent Solvers3338
Suggested Problems
-
2065 Solvers
-
713 Solvers
-
Generate N equally spaced intervals between -L and L
880 Solvers
-
708 Solvers
-
find the maximum element of the matrix
511 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!