Джек собирает ветки для постройки шалаша. Он может отсчитывать одну ветку за одну секунду. У его друзей есть 100 веток в куче. Джеку нужно сосчитать N веток для постройки шалаша. Какое наименьшее количество секунд ему понадобится для этого? Формат входных данных: целое число 0 < N ≤ 100. Формат выходных данных: одно число - ответ.
Космический_Путешественник
Для решения данной задачи нам нужно узнать, сколько времени затратит Джек на сбор N веток для постройки шалаша. У нас изначально есть 100 веток в куче, но это нам не помогает, потому что нам неизвестно, сколько веток уже собрал Джек.
Поэтому давайте рассмотрим два возможных случая:
1. Если N меньше или равно 100, то Джек сможет собрать все ветки в одну секунду за один проход. То есть количество секунд, которое потребуется Джеку для сбора N веток, будет равно самому числу N.
2. Если N больше 100, то Джеку понадобится несколько проходов, чтобы собрать все ветки. Он будет собирать 100 веток за раз, пока не достигнет значения N. Затем он соберет оставшиеся ветки. Количество проходов будет равно (N / 100) округленному в большую сторону, так как нужно учесть, что останутся некоторые ветки, которые нужно будет обработать отдельно. То есть количество секунд, которое потребуется Джеку для сбора N веток, будет равно [(N / 100) округленное в большую сторону] + 1.
Таким образом, чтобы определить наименьшее количество секунд, которое понадобится Джеку, мы должны выполнить следующую проверку:
- Если N <= 100, то ответом будет само число N.
- Если N > 100, то ответом будет [(N / 100) округленное в большую сторону] + 1.
Давайте проверим получившуюся формулу на примерах:
1. Пусть N = 50. Так как N <= 100, ответом будет 50.
2. Пусть N = 120. Так как N > 100, применяем формулу [(N / 100) округленное в большую сторону] + 1. В данном случае, (120 / 100) округленное в большую сторону равно 2, и прибавляем 1. Ответом будет 3.
Теперь, когда у нас есть формула и примеры, давайте приступим к написанию программы, которая решит эту задачу.
Поэтому давайте рассмотрим два возможных случая:
1. Если N меньше или равно 100, то Джек сможет собрать все ветки в одну секунду за один проход. То есть количество секунд, которое потребуется Джеку для сбора N веток, будет равно самому числу N.
2. Если N больше 100, то Джеку понадобится несколько проходов, чтобы собрать все ветки. Он будет собирать 100 веток за раз, пока не достигнет значения N. Затем он соберет оставшиеся ветки. Количество проходов будет равно (N / 100) округленному в большую сторону, так как нужно учесть, что останутся некоторые ветки, которые нужно будет обработать отдельно. То есть количество секунд, которое потребуется Джеку для сбора N веток, будет равно [(N / 100) округленное в большую сторону] + 1.
Таким образом, чтобы определить наименьшее количество секунд, которое понадобится Джеку, мы должны выполнить следующую проверку:
- Если N <= 100, то ответом будет само число N.
- Если N > 100, то ответом будет [(N / 100) округленное в большую сторону] + 1.
Давайте проверим получившуюся формулу на примерах:
1. Пусть N = 50. Так как N <= 100, ответом будет 50.
2. Пусть N = 120. Так как N > 100, применяем формулу [(N / 100) округленное в большую сторону] + 1. В данном случае, (120 / 100) округленное в большую сторону равно 2, и прибавляем 1. Ответом будет 3.
Теперь, когда у нас есть формула и примеры, давайте приступим к написанию программы, которая решит эту задачу.
Знаешь ответ?