Предмет: Информатика, автор: mdnlxx

Автобусные остановки расположены через каждые K метров от начала улицы, то есть на расстоянии 0, K, 2K, 3K и т.д. метров от начала. Света прошла от начала улицы N метров, после чего устала и захотела сесть на автобус. Определите, сколько метров нужно пройти Свете до ближайшей остановки.

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

Программа должна вывести одно целое число — расстояние до ближайшей остановки.
Программу написать на Python


evermyart: Как это решать!? Вот дают в школе тупые олимпиады, решайте как хотите. Тоже еë сейчас пишу
Hjkky: А это какой класс?
zanbaev2006: 8 класс

Ответы

Автор ответа: Удачник66
8

Ответ:

Объяснение:

Питона я не знаю, поэтому опишу алгоритм.

1) Ввод значения K.

2) Ввод значения N.

3) Объявление переменных A и B типа Integer.

4) A = N \ K (целочисленное деление, например, 7 \ 3 = 2)

A - это количество остановок, которые прошла Света.

5) B = N - A*K (остаток от деления N на K, 7 - 3*2 = 1)

B - это количество метров, на сколько она отошла от последней остановки.

6) Если B < K/2, то выводим значение B и сообщение:

"Нужно вернуться к последней пройденной остановке".

7) Если B >= K/2, то выводим значение K - B и сообщение:

"Нужно пройти вперед до следующей остановки".

8) Конец.

Например, пусть остановки находятся через каждые K = 3 метра.

А Света прошла N = 7 м, то есть A = 2 остановки (2*3 = 6) и B = 1 м.

До следующей остановки остается K - B = 2 м.

Так как K/2 = 3/2 м, а B = 1 < 3/2, то выводим B и Света возвращается.

А если Света прошла 8 м, то A = 2, B = 2 > 3/2.

В этом случае выводим K - B = 3 - 2 = 1 м, который остался до следующей остановки, и Света проходит вперед.

Похожие вопросы
Предмет: Другие предметы, автор: allockamurka