По заданному уравнению многочлена и x-координаты найдите скорость изменения точки в этой x-координате на кривой.
Полином имеет вид: ax n + ax n-1 + ... + ax 1 + a, где a ϵ Q и n ϵ W. Для этой задачи n также может быть 0, если вы не хотите иметь иметь дело с особыми случаями (константами), где нет х.
Чтобы найти скорость изменения в этой x-координате, мы можем получить производную от многочлена и вставить x-координату.
вход
Полином может быть взят в любой разумной форме, но вы должны указать, что это за формат. Например, массив формы [..[coefficient, exponent]..]
является приемлемым.
Выход
Скорость изменения точки при заданной координате х.
Это код-гольф , поэтому выигрывает самый короткий код в байтах.
Примеры
[[4, 3], [-2, 4], [5, 10]] 19 -> 16134384838410
[[0, 4]] 400 -> 0
[[4, 0], [5,1]] -13 -> 5
[[4.14, 4], [48, 2]] -3 -> -735.12
[[1, 3], [-5, 0]] 5.4 -> 87.48
Ответы:
Mathematica, 6 байтов
(Удар ЭТО ,
MATLи 05AB1E)Первый аргумент должен быть полиномом, в
#
качестве его переменной и с&
в конце (т. Е. Полиномиальной функцией; например3 #^2 + # - 7 &
). Второй аргумент - это x-координата интересующей точки.объяснение
Возьмем производную от первого аргумента (
1
подразумевается).Подключите второй аргумент.
использование
источник
MATL ,
86 байтВходные данные: массив показателей, число, массив коэффициентов.
Попробуйте онлайн! Или проверьте все контрольные примеры: 1 , 2, 3 , 4 , 5 .
объяснение
Рассмотрим пример входов
[3 4 10]
,19
,[4 -2 5]
.источник
Юлия,
45424037 байтЭто функция, которая принимает вектор кортежей и число и возвращает число. Абсолютное значение должно гарантировать, что показатель степени не отрицателен, что необходимо, потому что раздражающая Джулия бросает a,
DomainError
повышая целое число до отрицательного показателя.Попробуйте онлайн! (включает все тестовые случаи)
Спасибо Глену О за пару исправлений и байтов.
источник
i[2]>0&&
для работы с постоянным регистром вы используетеabs(i[2]-1)
в показателе степениx
. И чуть менее чистый прием для сохранения еще трех байтов -p%x
вместо этогоf(p,x)
- обратите внимание, что вы можете вызывать его так, как%(p,x)
если бы вы хотели использовать его в форме функции ... к сожалению, похоже, что он не работает на TIO (который, очевидно, работает Юлия 0.4.6), хотя она работает на моей Джулии 0.5.0.abs
частью, но переопределение инфиксных операторов причиняет мне физическую боль ...05AB1E ,
1211 байтСохранено один байт благодаря Аднану.
Попробуйте онлайн!
Точность с плавающей точкой - это Python. В настоящее время я меняю значения стека дважды, возможно, есть способ избежать этого и сохранить несколько байтов.
источник
}
:).DIs<m**O
составляет 8 байт после ответа MATL, предоставленного @Luis Mendo.s¹<m**O
- 7 байтов. ( 05ab1e.tryitonline.net/… )Python 3, 41 байт
6 байтов удалено благодаря @AndrasDeak ! На самом деле, этот ответ теперь больше его, чем мой ...
Спасибо также @ 1Darco1 за две исправления!
Анонимная функция, которая принимает список списков с коэффициентами и показателями степени (тот же формат, как описано в задании) и число.
Попробуй это здесь .
источник
a*x**(b-1)
вместоa*b*x**(b-1)
? И далее, что если $ x = 0 $?R, 31 байт
Анонимная функция, которая принимает вектор коэффициентов
a
, вектор показателейn
иx
значение.источник
Matlab, 27 байт
Это анонимная функция, которая принимает значение
x
и многочленp
в виде списка коэффициентов, например,x^2 + 2
может быть представлен как[1,0,2]
.источник
JavaScript (ES7), 40 байт
a
является массивом коэффициентов в возрастающем порядке экспоненты с включенными нулями, например, x ³-5 будет представлен как[-5, 0, 0, 1]
.источник
MATLAB с символическим набором математических инструментов, 26 байтов
Это определяет анонимную функцию. Входы:
p
определяющая полином в формате'4*x^3-2*x^4+5*x^10'
x
Пример использования:
источник
@(x,p)polyval(polyder(p),x)
, чтобы получить байт.Р,
3127 байтБезымянная функция принимает два входа
p
иx
.p
Предполагается, что это R-выражение многочлена (см. пример ниже) иx
является просто точкой оценки.Это работает, вызывая
D
который вычисляет символическую производную поx
и вычисляет выражение вx
.Пример вывода
Предполагая, что функция теперь названа,
f
ее можно вызвать следующим образом:который соответственно производит:
источник
PARI / GP , 20 байтов
Например,
a(4*x^3-2*x^4+5*x^10,19)
урожайность16134384838410
.источник
f'
отf
, а затем подставляетn
дляx
.С ++ 14,
165138133112110 байтУниверсальный Variadic Lambda экономит много. -2 байта для
#import
и удаление места перед<
Ungolfed:
Использование:
источник
Haskell, 33 байта
Использование:
источник
постоянный ток, 31 байт
Использование:
источник
DASH , 33 байта
Использование:
объяснение
источник
Скала, 46 байт
Использование:
Объяснение:
источник
Аксиома 31 байт
Результаты
источник
Python 2, 39 байт
lambda
Функция принимает два входа,p
иx
.p
является полиномом, приведенным в формате примера, приведенного в вопросе.x
это значение х, при котором можно найти скорость изменения.источник
Пари / ГП , 14 байтов
Использование:
Попробуйте онлайн!
источник
C 78 байтов
источник
Clojure, 53 байта
Полином выражается в виде хэш-карты, ключи - это коэффициенты, а значения - это показатели.
источник
Casio Basic, 16 байтов
Ввод должен быть полиномом в терминах
x
. 13 байтов для кода, +3 байта для ввода вa,b
качестве параметров.Просто получает выражение
a
по отношению кx
, а затем к югу отx=b
.источник
Dyalog APL,
262523 байтаПринимает многочлен в качестве правого аргумента и значение в качестве левого аргумента.
источник