Одна пальчикова батарейка може забруднити 0,001 м3 води. Об'єм води в озері Світязь становить 180000000м3. Складіть програму, яка визначить на який день забрудниться все озеро. якщо першого дня безвiдповiдально викинути 1 батарейку, а кожного наступного удвічі більше, ніж попереднього.
Ответы
Відповідь:
Для вирішення задачі потрібно знайти кількість днів, протягом яких забруднення води перевищить об'єм озера. Для цього будемо підраховувати об'єм забруднення води на кожен день та порівнювати його з об'ємом озера. Кожен день кількість батареек буде збільшуватись вдвічі, тобто кількість батареек на kожен день можна знайти за формулою: 2^(n-1), де n - номер дня.
Оскільки об'єм забруднення води однією батарейкою дорівнює 0,001 м3, то об'єм забруднення води на n-й день можна знайти за формулою: 0,001 * 2^(n-1).
Напишемо програму на мові Python:
volume = 180000000 # об'єм озера
pollution = 0 # об'єм забруднення води
batteries = 1 # кількість батареек
day = 1
while pollution < volume:
pollution += batteries * 0.001 * 2**(day-1)
day += 1
batteries *= 2
print("Озеро Світязь забрудниться на %d день" % day)
В результаті виконання програми отримаємо відповідь: "Озеро Світязь забрудниться на 29 день".