Ein Badehaus hat 1000 Spinde. Der erste Gast geht durch die Garderobe und schließt die Türe von allen Spinden. Der zweite Gast geht durch und ändert (hier: öffnet) den Zustand jeder zweiten Türe. Der dritte Gast geht durch und ändert den Zustand jeder dritten Türe… der tausendste Gast ändert den Zustand der letzten Türe.
Frage: Welche System steckt hinter den geöffneten Türen?
Thanks to the math geek from ToM
#!/usr/bin/env python
# -*- coding: utf-8 -*-
limit = 1001
# True = the locker is open
lockers = [True] * limit
def bprint(liste):
''' Like pprint, but more beautiful '''
print '{'
a = -1
for i in liste:
a += 1
if a != 0:
print ' %s : %s ' % (a, liste[a])
print '}'
# foreach person
for a in xrange(1, limit):
# foreach locker
for b in xrange(1, limit):
if b % a == 0:
lockers[b] = not lockers[b]
bprint(lockers)
Recent Comments