Top.Mail.Ru

Для решения этой задачи можно воспользоваться следующим алгоритмом:

1. Считать значения переменных i и j (номер вагона, в котором находится Витя, и номер его вагона).
2. Создать переменные “голова” и “хвост” и инициализировать их значениями i и j соответственно.
3. Создать переменную “вагоны” и инициализировать ее значением 1 (учитывая, что Витя уже находится в вагоне).
4. Используя цикл while, продолжать увеличивать значение “голова” и одновременно уменьшать значение “хвост” на 1 до тех пор, пока “голова” будет строго больше “хвоста”.
5. На каждой итерации цикла увеличивать значение “вагоны” на 2.
6. После выхода из цикла, проверить, если “голова” равна “хвосту”, значит вагонов был всего 1.
7. Иначе вывести значение “вагоны” – количество вагонов в электричке.

В этом алгоритме мы начинаем от “головы” и “хвоста” (зайдя в вагон с номером j) и увеличиваем количество вагонов на 2 на каждой итерации цикла, увеличивая “голову” и уменьшая “хвост” на 1. Если мы встречаемся в середине, то количество вагонов будет равно двум умножить количество раз, на которое “голова” отличается от “хвоста”.
Если “голова” и “хвост” равны, то это означает, что у нас всего один вагон.
Иначе это означает, что у нас есть нечетное количество вагонов и количество вагонов равно двум умножить количество раз, на которое “голова” отличается от “хвоста”, плюс один вагон, в котором находится Витя.

   
[metform form_id="1136"]