Вычисление по заданной формуле

122 задачи
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.

Вычислите среднее арифметическое. Выведите три строки:

  1. Исходный список — числа через пробел.
  2. Среднее арифметическое, округлённое до 1 знака после запятой.
  3. Числа, которые строго больше среднего, через пробел (в порядке ввода). Если таких нет — пустая строка.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 20\)).

Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).

Формат выходных данных

Первая строка — исходный список через пробел.

Вторая строка — среднее с одним знаком после запятой.

Третья строка — числа больше среднего через пробел.

Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.

Выведите две строки:

  1. Исходный список — числа через пробел.
  2. Среднее арифметическое, округлённое до 1 знака после запятой.

Формат входных данных

Первая строка — целое число \(N\) (\(1 \le N \le 20\)).

Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).

Формат выходных данных

Первая строка — исходный список через пробел.

Вторая строка — среднее арифметическое с одним знаком после запятой.

Примечание

Подсказка: среднее = сумма / количество. Для вывода используйте round(x, 1).

Задана функция положения тела \(s(t)\) в виде полинома степени не выше 3. Дано также целое число \(t_0\). Выполните три вычисления:

  1. Скорость \(v(t)=s''(t)\) — первая производная, в упрощённом виде.

  2. Ускорение \(a(t)=s''''(t)\) — вторая производная, в упрощённом виде.

  3. Значение скорости в момент \(t_0\): число \(v(t_0)\).

Формат ввода

Строка 1: выражение полинома в синтаксисе Python (** для возведения в степень, * для умножения, переменная t). Строка 2: целое число \(t_0\) (\(-100\le t_0\le 100\)).

Формат вывода

Ровно 3 строки:

velocity: <выражение>
acceleration: <выражение>
v(<t0>): <число>

Пример ввода:

3*t**2 + 2*t - 5
2

Пример вывода:

velocity: 6*t + 2
acceleration: 6
v(2): 14

Разбор. \(s(t)=3t^2+2t-5\). Скорость: \(v(t)=s''(t)=6t+2\). Ускорение: \(a(t)=v''(t)=6\). Значение: \(v(2)=6\cdot2+2=14\).

Подсказки. Для разбора строки: parse_expr(s, ...). Производная: simplify(diff(expr, t)). Подстановка: expr.subs(t, t0).

На экзамене фиксируется время выполнения каждого задания учеником в часах и минутах. Определите среднее время выполнения задания.

Формат входных данных

В первой строке подаётся количество заданий N. В каждой из следующих N строк — два целых числа: часы и минуты, затраченные на одно задание (0 ≤ часы ≤ 3, 0 ≤ минуты ≤ 59).

Формат выходных данных

Два числа через пробел — среднее время в часах и минутах (минуты округлить до целого вниз).

Учитель записывает фактическую длительность каждого проведённого урока в часах и минутах. Стандартная длительность урока — 45 минут. Определите, сколько уроков длились дольше стандартного времени.

Формат входных данных

В первой строке подаётся количество уроков N. В каждой из следующих N строк — два целых числа: часы и минуты длительности урока (0 ≤ часы ≤ 2, 0 ≤ минуты ≤ 59).

Формат выходных данных

Одно число — количество уроков, длившихся строго дольше 45 минут.

В расписании руководителя записана длительность каждого совещания в часах и минутах. Определите длительность самого длинного совещания.

Формат входных данных

В первой строке подаётся количество совещаний N. В каждой из следующих N строк — два целых числа: часы и минуты длительности одного совещания (0 ≤ часы ≤ 8, 0 ≤ минуты ≤ 59).

Формат выходных данных

Два числа через пробел — длительность самого длинного совещания в часах и минутах.

Дана строка, задающая полином \(f(x)\) степени не выше 3, и два целых числа \(a\), \(b\) — пределы интегрирования. Выполните три операции:

  1. Найдите производную \(f'(x)\) и упростите её.

  2. Вычислите определённый интеграл \(\displaystyle\int_a^b f(x)\,dx\). Выведите точное значение (целое или дробное, например 27/4 или 0).

  3. Найдите все вещественные корни \(f(x) = 0\). Выведите их через пробел в порядке возрастания. Если вещественных корней нет — выведите none. Кратные корни выводятся один раз.

Формат ввода.
Строка 1: выражение полинома в синтаксисе Python (** для возведения в степень, * для умножения, только переменная x).
Строка 2: два целых числа \(a\) и \(b\) через пробел (\(-100 \le a < b \le 100\)).

Формат вывода. Ровно 3 строки:

derivative: <выражение>
integral: <точное значение>
roots: <числа через пробел, или "none">

Пример ввода 1:

x**3 - 4*x**2 + x + 6
0 3

Пример вывода 1:

derivative: 3*x**2 - 8*x + 1
integral: 27/4
roots: -1 2 3

Пример ввода 2:

x**2 - 4*x + 4
0 3

Пример вывода 2:

derivative: 2*x - 4
integral: 3
roots: 2

Корень \(x=2\) кратный — выводим один раз.

Разбор примера 1. \(f(x) = x^3 - 4x^2 + x + 6\).

\[f'(x) = 3x^2 - 8x + 1, \qquad \int_0^3 f\,dx = \left[\frac{x^4}{4} - \frac{4x^3}{3} + \frac{x^2}{2} + 6x\right]_0^3 = \frac{81}{4} - 36 + \frac{9}{2} + 18 = \frac{27}{4}\] \[f(-1) = -1-4-1+6 = 0,\quad f(2) = 8-16+2+6=0,\quad f(3)=27-36+3+6=0.\] Корни: \(-1,\ 2,\ 3\).

Подсказки по реализации.

  • Для разбора строки: parse_expr(s, transformations=standard_transformations + (implicit_multiplication_application,)).

  • Чтобы отфильтровать только вещественные корни: im(r) == 0.

  • simplify(diff(expr, x)) даёт упрощённый вид производной.

  • Сортировка корней: sorted(..., key=lambda r: float(r)).

Саша пронумеровала клетки шахматной доски, начиная с левого нижнего угла (клетки a1) по горизонталям сверху вниз, внутри горизонтали слева направо. У неё получилась следующая нумерация:

image

По заданному номеру клетки выведите, что это за клетка.

На вход подаётся одно число \(n\) от 1 до 64.

Выведите, какая клетка получила номер \(n\).

В этой задаче 20 тестов, каждый оценивается независимо в 5 баллов.

Беси помогает Фермеру Джону проводить USACO - он-лайн соревнование, где участники отвечают на трудные вопросы по коровьему бытию.

Недавно ФД ввёл в контест 4 дивизиона сложности: Bronze, Silver, Gold, Platinum. Все новые участники начинают в дивизионе Bronze, как только они показывают на контесте совершенный результат, они переводятся в следующий дивизион. Возможно даже, что участник переводится несколько раз в течение одного контеста. ФД хранит список всех участников и их текущий дивизион. Поэтому каждый начинает со своего дивизиона в любой момент контеста.

Когда ФД публикует результаты последнего контеста, он хочет включить информацию по количествам переведенных из Bronze в Silver, из Silver в Gold, из Gold в Platinum. Однако он затрудняется считать перемещения, если они происходят в течение одного контеста. Беси поняла, что ФД может выводить количество случившихся перемещений непосредственно из количества участников в каждом уровне до и после контеста. Помогите ей выполнить эти вычисления.

ФОРМАТ ВВОДА (файл promote.in):

Ввод состоит из 4 строк, каждая содержит два числа в интервале 0..1,000,000. Первая строка указывает количество участников в дивизионе Bronze до и после контеста. Вторая строка указывает количество участников в дивизионе Silver до и после контеста. Третья строка указывает количество участников в дивизионе Gold до и после контеста. Четвёртая строка указывает количество участников в дивизионе Platinum до и после контеста.

ФОРМАТ ВЫВОДА (файл promote.out):

Пожалуйста, выведите три строки, каждая содержит одно целое число. Первая строка должна содержать количество участников, которые были перемещены из Bronze в Silver. Вторая строк должна содержать количество участников, которые были перемещены из Silver в Gold. Последняя строка должна содержать количество участников, которые были перемещены из Gold в platinum.

На крыше дома в Простоквашино висит N сосулек. Каждую минуту все сосульки одновременно капают: каждая сосулька уменьшается на 1 сантиметр. Когда длина сосульки становится 0 или меньше, она падает и исчезает.

Дядя Фёдор хочет узнать, через сколько минут упадёт последняя сосулька.

Входные данные: В первой строке число N (1 ≤ N ≤ 1000). Во второй строке N целых чисел от 1 до 10000 — начальные длины сосулек.

Выходные данные: Через сколько минут упадёт последняя сосулька.

Совет директоров хочет выйти на новый рынок в Китае. Для этого они запросили информацию по 3 крупнейшим компаниям на этом рынке с целью их покупки. Ваша задача — проанализировать эти компании и определить, какая из них принесет наибольшую прибыль (в млн $) через 5 лет, предполагая, что темпы роста капитала не изменятся.
Название Капитал, млн $ Ежегодный прирост капитала за последние 5 лет, % Доля прибыли от капитала, %
Engine Motors 15 5 4
Speed Cross 18 3 6
Fast Fuel 10 6 7

Выберите верное название компании:
  1. Engine Motors
  2. Speed Cross
  3. Fast Fuel
2#68062
Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае

Квадрат числа a больше произведения b и c

С клавиатуры вводится три числа, каждое в отдельной строке: в первой строке вводится число a, во второй - b, в третьей - с
 
На бесконечной в обе стороны клетчатой полоске в клетке с нулевой координатой стоит робот.

Робот делает 1 шаг вправо, затем 2 шага влево, 3 шага вправо, 4 шага влево и так далее. Сделав суммарно N шагов, робот останавливается. Определите координату клетки, в которой окажется робот после остановки.
Формат входных данных
В единственной строке задано целое число N (0 ≤ N ≤ 1018). Обратите внимание, что значения переменных в этой задаче могут превышать возможные значения 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Формат выходных данных
Выведите единственное число координату клетки, в которой окажется робот после остановки.
Студент Павел недавно приобрёл себе подержанный автомобиль и теперь ездит на нём в университет. На его пути в вуз имеется один загруженный перекрёсток, проезд через который регулируется светофором. Сделав ряд поездок, Павел обнаружил интересную закономерность: пока на светофоре горит зелёный свет, через перекрёсток успевает проехать не менее a, но не более b машин. Сверху над перекрёстком установлена уличная видеокамера. Павел может подключиться к ней со своего смартфона и сосчитать количество машин n, которые стоят перед светофором впереди него (свою машину он тоже считает). Назовём тактом светофора включение на нём зелёного сигнала. Напишите программу, определяющую минимальный и максимальный номер такта, на котором Павел проедет перекрёсток.
Формат входных данных
Впервых двух строках входных данных записаны целые числа a и b (1 ≤a ≤ b ≤ 109). В третьей строке записано целое число n (1≤ n ≤ 109).
Формат выходных данных
Выведите два целых числа минимальный и максимальный номер такта светофора, на котором Павел проедет перекрёсток.

Замечание
В примере из условия перед светофором стоят 10 машин. Если через перекрёсток будут проезжать по 5 машин на зелёный свет, то Павел проедет на втором такте. Если же будут проезжать по 3 машины, то он проедет лишь на четвёртом такте.
Тимофею на день рождения родители подарили металлоискатель. Естественно, наутро мальчик отправился на поиски клада. Он предположил, что когда-то давно кто-то мог обронить золотую монету на древней прямой дороге и для облегчения поиска придумал систему координат. Ось абсцисс OX направлена вдоль дороги, а ось ординат OY направлена вверх.
Устройство работает следующим образом: на его индикаторе выставляется натуральное число r и если ровно на этом расстоянии имеется золотой предмет, то загорается зелёная лампочка.
Сначала юный кладоискатель выставил число r1 в точке x = 0, затем отошёл в точку с абсциссой x = a и выставил число r2, как показано на рисунке. Новичкам везёт, оба раза загорелась зелёная лампочка. Определите координаты потерянной когда-то давно золотой монетки.

Формат входных данных
Программа получает на вход три целых числа a, r1 и r2, записанных в отдельных строках (1 ≤ a, r1, r2 ≤ 109 ).
Формат выходных данных
Выведите в двух строках два числа – координаты сокровища (сначала — абсциссу, потом — ординату). Значение ординаты должно быть не положительным (монетка не может висеть в воздухе). Гарантируется, что входные данные таковы, что ответ существует и обе координаты монеты будут целыми числами.

Замечание
Рисунок соответствует примеру из условия.

Напишите программу на Python, которая:

  1. Считывает математическое выражение из строки.

  2. Преобразует строку в символьное выражение с помощью SymPy.

  3. Вычисляет численное значение выражения для заданных значений переменных.

  4. Выводит результат.

Поделиться
Класснуть