Вопрос задан 12.01.2026 в 12:00. Предмет Информатика. Спрашивает Колибабина Полина.

В первый день спортсмен пробежал x километров, а затем каждый день он увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

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

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

Отвечает Барсуков Роман.

Для решения задачи, где спортсмен каждый день увеличивает пробег на 10%, нужно рассчитать, на какой день его пробег станет не менее заданного числа yy. Для этого можно воспользоваться формулой для геометрической прогрессии, так как каждый день спортсмен увеличивает пробег на фиксированный процент от предыдущего значения.

Алгоритм решения:

  1. Пусть в первый день спортсмен пробежал xx километров.

  2. Каждый следующий день пробег увеличивается на 10% от предыдущего значения, т.е. умножается на 1.1.

  3. Нужно найти номер дня, на который пробег станет не меньше yy километров.

Алгоритм будет заключаться в том, чтобы последовательно вычислять пробег для каждого дня, начиная с первого, и проверять, когда он станет больше или равен yy.

Пример на C++:

cpp
#include using namespace std;

int main() { double x, y; cin >> x >> y; // Вводим значения пробега в первый день и целевого пробега

int day = 1; // Начинаем с первого дня double current_distance = x; // Пробег в первый день

while (current_distance < y) { // Пока пробег меньше y current_distance *= 1.1; // Увеличиваем пробег на 10% day++; // Переходим к следующему дню }

cout << day << endl; // Выводим номер дня, когда пробег станет не менее y

return 0; }

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

  1. В первой строке вводим два числа xx (пробег в первый день) и yy (цель, к которой нужно прийти).

  2. Инициализируем переменную day, которая будет отслеживать номер текущего дня.

  3. В цикле while мы проверяем, если текущий пробег меньше yy, то увеличиваем его на 10% (умножаем на 1.1), и увеличиваем день на единицу.

  4. Когда пробег становится не менее yy, программа выходит из цикла и выводит номер дня.

Пример:

Входные данные:

10 20

Процесс:

  1. В первый день пробег = 10 км.

  2. Во второй день пробег = 10 * 1.1 = 11 км.

  3. В третий день пробег = 11 * 1.1 ≈ 12.1 км.

  4. В четвертый день пробег = 12.1 * 1.1 ≈ 13.31 км.

  5. И так далее, пока пробег не станет не меньше 20 км.

Выходные данные:

10

Этот результат говорит о том, что на 10-й день пробег спортсмена станет не менее 20 км.

Важные замечания:

  • Важным моментом является точность вычислений, так как мы используем числа с плавающей запятой (тип double). На практике это должно работать корректно, но при работе с числами с плавающей запятой нужно учитывать возможные погрешности округления.

  • Если xx уже больше или равно yy, программа сразу выведет 1, так как спортсмен достиг цели в первый день.

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

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

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

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