e-olymp 6277. Покупка воды

Задача №6277 с сайта e-olimp.com.

Стоимость бутылки воды, учитывая стоимость пустой бутылки, составляет 1 грн 20коп., а стоимость пустой бутылки 20 коп.
Сколько бутылок воды можно выпить на [latex]n[/latex] грн, учитывая, что пустые бутылки можно сдавать, и на полученные деньги приобретать новые бутылки воды.

Входные данные
Натуральное число [latex]n[/latex] (1 [latex]n[/latex] 1000).

Выходные данные
Количество бутылок воды, которое можно выпить на [latex]n[/latex] грн.

[latex]n[/latex] Результат
2 1
10 9
0.7 0

Код программы:

Задача решена методом моделирования. Вычисления проведены согласно условию, представленному в задаче. По условию задачи необходимо узнать сколько можно выпить бутылок имея [latex]n[/latex] грн. Для этого описываем и считываем количество денег [latex]n[/latex], а также создаем счетчик, определяющий сколько бутылок воды в итоге можно купить. Затем создаем цикл, в котором пока мы имеем достаточно средств покупаем воду за 1.2 грн и сразу же сдаем бутылку за 0.2 грн, в результате количество денег уменьшается на 1, а счетчик увеличивается на 1. Когда количество денег станет меньше 1.2 грн выходим из цикла и печатаем количество купленных бутылок.
Для проверки работы программы можно воспользоваться объектом.

Имеется альтернативный линейный вариант решения:

http://ideone.com/ClAaK4
Решение принято

Код на Javа:

Related Images:

7 thoughts on “e-olymp 6277. Покупка воды

  1. Жаль, что n до 1000. Я бы сделал до 10^12 и иначе как формулой или за логарифм ее бы решить было нельзя. Ваш цикл легко меняется на одну операцию.

  2. Нужна ссылка на сайт с задачей и результатами её тестирования (принята или нет).
    Задача решена методом моделирования. Т.е. проведение вычислений по процедуре описанной в задаче. Нужно это написать.
    И поправьте отступы, добавьте метки из текста задачи.

    • Отредактировано.

  3. Засчитано.
    Кстати, в альтернативном решении можно было вычитать 1, а не 0.2 и избежать излишних преобразований в действительное число и потом обратно в целое.
    Если бы начальная сумма задавалась «с копейками», то действительно нужно было бы отнять от нею 0.2 и отбросить дробную часть.

    • Задача отредактирована.

Добавить комментарий