Вопрос задан 24.02.2025 в 13:29. Предмет Информатика. Спрашивает Умирбеков Руслан.

Лыжник пробежал в 1 день 10 км, каждый следующий день он пробегал на 10% больше. Определить в какой день он пробежит 20 км, в какой день суммарны пробег превысит 200км

Решить в Паскале

Перейти к ответам

Ответы на вопрос

Отвечает Рыжков Коля.

Чтобы решить эту задачу, давайте разобьем её на несколько шагов.

Дано:

  1. Лыжник пробежал в 1-й день 10 км.
  2. Каждый следующий день пробегает на 10% больше, чем в предыдущий день.
  3. Нужно найти день, когда пробег будет равен или превысит 20 км, а также день, когда суммарный пробег превысит 200 км.

Решение:

Шаг 1: Математическое описание задачи

  1. В первый день лыжник пробежал 10 км.
  2. Во второй день его пробег составит 10 + 10% от 10 км, то есть 10 * 1.1 = 11 км.
  3. В третий день его пробег составит 11 * 1.1 = 12.1 км.
  4. В n-й день его пробег будет составлять 10×1.1(n1)10 \times 1.1^{(n-1)} км.

Шаг 2: Найдем день, когда пробег превысит 20 км.

Для этого находим такой день, когда пробег 10×1.1(n1)2010 \times 1.1^{(n-1)} \geq 20.

Решим это неравенство:

10×1.1(n1)2010 \times 1.1^{(n-1)} \geq 20 1.1(n1)21.1^{(n-1)} \geq 2

Возьмем логарифм:

(n1)×log(1.1)log(2)(n-1) \times \log(1.1) \geq \log(2) n1log(2)log(1.1)n-1 \geq \frac{\log(2)}{\log(1.1)} n17.272n-1 \geq 7.272 n8.272n \geq 8.272

Следовательно, в 9-й день пробег превысит 20 км.

Шаг 3: Найдем день, когда суммарный пробег превысит 200 км.

Суммарный пробег за первые n дней можно выразить как сумму геометрической прогрессии:

Sn=10×11.1n11.1=10×1.1n10.1=100×(1.1n1)S_n = 10 \times \frac{1 - 1.1^n}{1 - 1.1} = 10 \times \frac{1.1^n - 1}{0.1} = 100 \times (1.1^n - 1)

Нам нужно найти такой n, когда:

Sn>200S_n > 200

То есть:

100×(1.1n1)>200100 \times (1.1^n - 1) > 200 1.1n1>21.1^n - 1 > 2 1.1n>31.1^n > 3

Берем логарифм:

n×log(1.1)>log(3)n \times \log(1.1) > \log(3) n>log(3)log(1.1)n > \frac{\log(3)}{\log(1.1)} n>11.52n > 11.52

Следовательно, суммарный пробег превысит 200 км на 12-й день.

Реализация на языке Pascal

pascal
program Skiing;

var day: integer; distance, totalDistance: real;

begin distance := 10; { начальный пробег в первый день } totalDistance := 0; { общий пробег } day := 1; { Находим день, когда пробег превысит 20 км } while distance < 20 do begin distance := distance * 1.1; { увеличиваем пробег на 10% } day := day + 1; end; writeln('Лыжник пробежит 20 км в день ', day); { Суммируем пробег для поиска дня, когда он превысит 200 км } day := 1; distance := 10; { сбрасываем начальный пробег } totalDistance := 0; while totalDistance <= 200 do begin totalDistance := totalDistance + distance; distance := distance * 1.1; { увеличиваем пробег на 10% } day := day + 1; end; writeln('Суммарный пробег превысит 200 км в день ', day); end.

Пояснения к коду:

  1. В программе используется переменная distance, которая хранит пробег лыжника в текущий день. Изначально она равна 10 км.
  2. В цикле увеличивается пробег на 10% каждый день.
  3. Программа сначала находит день, когда пробег лыжника станет больше 20 км.
  4. Затем программа суммирует пробеги каждого дня, пока общий пробег не превысит 200 км.
  5. Выводятся два результата: день, когда пробег превысит 20 км, и день, когда суммарный пробег превысит 200 км.

Результаты:

  • Лыжник пробежит 20 км в 9-й день.
  • Суммарный пробег превысит 200 км на 12-й день.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос