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
-
Find state names that end with the letter A
1186 Solvers
-
874 Solvers
-
Fahrenheit to Celsius converter
565 Solvers
-
15540 Solvers
-
Fix the last element of a cell array
1547 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!