Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cars = [0.0]
- b1 = 1.0
- n = 1
- q = 1.0 - 0.2
- def geom_sum(q, b1, n):
- 'Сколько ещё нужно места для остатка бесконечной последовательности медведей после n'
- prev_sum = b1*(q**n-1)/(q-1)
- total_sum = b1/(1-q)
- return total_sum - prev_sum
- while True:
- last_car = cars[-1]
- bn = b1*(q**(n-1))
- if last_car + bn > 1.0:
- # медведь не влез, берём следующую машину
- cars.append(0.0)
- last_car = 0.0
- last_car += bn
- cars[-1] = last_car
- carspace = 1.0 - last_car
- if geom_sum(q, b1, n) < carspace:
- # остальные медведи влезут в последнюю машину
- last_car += geom_sum(q, b1, n)
- break
- n += 1
- print(cars)
- print(len(cars))
Advertisement
Add Comment
Please, Sign In to add comment