#----------------------------------------------------------------------- # birthday.py #----------------------------------------------------------------------- import stdio import stdarray import random # Compute the number of people (by simulation) that must enter a room # until two of them share a birthday. Assume birthdays are independent # and uniform from 0 to 364. Write the number of people to standard # output. DAYS_PER_YEAR = 365 # Keep track of the count of people who have entered the room. peopleCount = 0 # birthdaysSeen[birthday] = True iff someone who has entered the room # was born on day birthday. birthdaysSeen = stdarray.create1D(DAYS_PER_YEAR, False) # Perform the simulation. while True: peopleCount += 1 birthday = random.randrange(0, DAYS_PER_YEAR) if birthdaysSeen[birthday]: break # Two people with the same birthday, so break out of loop birthdaysSeen[birthday] = True stdio.writeln(peopleCount) #----------------------------------------------------------------------- # python birthday.py # 38 # python birthday.py # 20 # python birthday.py # 11 # python birthday.py # 18