proj tom_bathhouse

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)

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>