 
На летних каникулах Вася с одноклассниками поехали отдыхать в Приэльбрусье. В один погожий день
они решили подняться на вершину Эльбруса. Для этого им нужно набрать H метров высоты. Физическая подготовка ребят оказалась далеко не на высоте, из-за чего после каждого подъема на T метров половина школьников возвращалась вниз в лагерь. Если группа не делилась на две равные части — один школьник мог как спуститься, так и остаться. Зная, что в начале восхождения группа состояла из N человек, определите, какое наименьшее и наибольшее количество ребят смогло бы подняться на вершину Эльбруса. Формат ввода Заданы три натуральных числа H, T и N (1 ≤ H, T, N ≤ 10**9). Формат вывода Выведите два числа — наименьшее и наибольшее количество ребят. Пример Ввод Вывод 5 3 5 2 3 0
        0
         0
        0
    Ответы на вопрос
 
        Ответ:
Вот ваше решение, товарищи
Объяснение:

 0
                    0
                     0
                    0
                 
            Для решения этой задачи нужно рассмотреть различные сценарии восхождения на Эльбрус и вычислить минимальное и максимальное количество школьников, которые смогут подняться на вершину.
Первым делом рассмотрим сценарий, когда все школьники могут подняться на вершину без возвращения вниз. В этом случае минимальное и максимальное количество ребят будет равно N:
mathematicaМинимальное количество: N
Максимальное количество: N
Теперь рассмотрим сценарий, когда школьники должны делиться на две равные части и часть из них возвращается вниз после каждого подъема на T метров.
В таком случае, школьников, которые смогут подняться на вершину, будет зависеть от высоты H, пройденного расстояния T и начального количества школьников N.
Количество подъемов, которые могут сделать школьники, равно H / T (целочисленное деление). После каждого подъема половина школьников возвращается вниз, значит на каждом подъеме количество школьников уменьшается вдвое. Таким образом, количество школьников, которые смогут подняться на вершину, будет равно 2^(H / T). Однако, если в начале восхождения количество школьников N не является степенью двойки, то некоторые школьники могут быть вынуждены вернуться вниз, и количество поднимающихся школьников будет меньше.
Минимальное количество школьников будет равно наибольшей степени двойки, которая меньше или равна N:
cssМинимальное количество: 2^(log2(N))
Наибольшее количество школьников будет равно минимальному количеству школьников, умноженному на 2^(H / T - 1):
cssМаксимальное количество: 2^(log2(N)) * 2^(H / T - 1) = 2^(log2(N) + H / T - 1)
Таким образом, минимальное количество школьников будет равно 2^(log2(N)), а максимальное количество школьников будет равно 2^(log2(N) + H / T - 1).
Итоговый псевдокод решения задачи:
cmin_students = pow(2, int(log2(N)))
max_students = pow(2, int(log2(N) + H / T - 1))
вывести min_students и max_students
Пример решения:
scssH, T, N = 5, 3, 5
min_students = pow(2, int(log2(N))) = 2
max_students = pow(2, int(log2(N) + H / T - 1)) = 2^(1 + 5 / 3 - 1) = 4
вывести min_students и max_students
Ответ: 2 4
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			