def get_open_lockers(num_lockers, num_students):
list_lockers = ["open"]*num_lockers # 1st step
for k in range(2,num_students+1): # others
for i,j in enumerate(list_lockers):
if (i+1)>=(k-1):
if (i+1)%k==0:
if list_lockers[i] == "open":
list_lockers[i] = "close"
else:
list_lockers[i] = "open"
return list_lockers.count("open")
print(get_open_lockers(100, 100))
Count the number of open lockers in school
Upasana | May 19, 2019 | 1 min read | 399 views | Python Coding Problems
School Daze
A group of schools has a specific number of lockers and a specific number of students. All lockers are closed on the first day of school. As students get to school they begin to play with the lockers. The first student opens every locker. The second student begins with the 2nd locker and closes every other locker. The third student starts with the third locker and changes every 3rd locker. That is, the third student opens the locker if it is closed and closes it if it is open. The 4th student starts with locker 4 and changes every 4th locker and so on. After all the students are done, display how many lockers are open.
Input | Output |
---|---|
100, 100 |
100 Lockers: 100 Students; 10 Open lockers |
10, 5 |
10 Lockers; 5 Students; 6 Open lockers |
1000, 50 |
1000 Lockers; 50 Students; 499 Open lockers |
10
Python Coding Problems:
- AWS Lambda Interview Questions for Developers
- Python coding challenges for interviews
- Sequence of Differences in Python
- Spaced Out?
- Find extra long factorials in python
- Find if credit card number is valid or not
- Write a python program to find Largest Substring that occurs more than once
Top articles in this category:
- Python coding challenges for interviews
- Write a program to find if a number is Lychrel Number in Python
- Google Data Scientist interview questions with answers
- Pass the ball game: NxN matrix in python
- Sequence of Differences in Python
- Configure Logging in gunicorn based application in docker container
- Sum of the Diagonals