다항식과 x 좌표의 방정식이 주어지면 곡선의 해당 x 좌표에서 점의 변화율을 찾습니다.
다항식의 형식은 ax n + ax n-1 + … + ax 1 + a입니다. 여기서 a ϵ Q 및 n ϵ W입니다. x가없는 특수한 경우 (상수)를 처리합니다.
x- 좌표에서 변화율을 찾기 위해 다항식의 미분을 구하고 x- 좌표를 꽂을 수 있습니다.
입력
다항식은 합리적인 형식으로 취할 수 있지만 해당 형식이 무엇인지 명시해야합니다. 예를 들어, 형식의 배열 [..[coefficient, exponent]..]
이 허용됩니다.
산출
주어진 x 좌표에서 점의 변화율.
입니다 코드 골프 바이트의 승리에 너무 짧은 코드.
예
[[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 바이트
#'@#2&
(비트 , MATL 및 05AB1E)
첫 번째 인수는 #
변수와 &
끝에 다항식이어야합니다 (예 : 순수 함수 다항식, 예 🙂 3 #^2 + # - 7 &
. 두 번째 논점은 관심 지점의 x 좌표입니다.
설명
#'
첫 번째 인수의 미분을 취하십시오 ( 1
내포 됨).
... @#2&
두 번째 인수를 연결하십시오.
용법
#'@#2&[4 #^3 - 2 #^4 + 5 #^10 &, 19] (* The first test case *)
16134384838410
답변
MATL , 8 6 바이트
yq^**s
입력 값 : 지수 배열, 수, 계수 배열.
온라인으로 사용해보십시오! 또는 모든 테스트 사례를 확인하십시오 : 1 , 2 3 , 4 , 5 .
설명
예를 들어 입력을 고려 [3 4 10]
, 19
, [4 -2 5]
.
y % Take first two inputs implicitly and duplicate the first
% STACK: [3 4 10], 19, [3 4 10]
q % Subtract 1, element-wise
% STACK: [3 4 10], 19, [2 3 9]
^ % Power, element-wise
% STACK: [3 4 10], [361 6859 322687697779]
* % Multiply, element-wise
% STACK: [1083 27436 3226876977790]
* % Take third input implicitly and multiply element-wise
% STACK: [4332 -54872 16134384888950]
s % Sum of array
% STACK: 16134384838410
답변
줄리아, 45 42 40 37 바이트
f(p,x)=sum(i->prod(i)x^abs(i[2]-1),p)
이것은 튜플과 숫자로 구성된 벡터를 가속하고 숫자를 반환하는 함수입니다. 절대 값은 지수가 음수가 아닌지 확인하는 것입니다. Julia Annoying DomainError
은 정수를 음의 지수로 올릴 때 a를 던지기 때문에 필요 합니다.
온라인으로 사용해보십시오!(모든 테스트 케이스 포함)
몇 가지 수정 및 바이트를위한 Glen O에게 감사합니다.
답변
05AB1E ,12 11 바이트
Adnan 덕분에 1 바이트를 절약했습니다.
vy¤<²smsP*O
v For each [coefficient, power] in the input array
y Push [coefficient, power]
¤< Compute (power-1)
² Push x value (second input entry)
sms Push pow(x, power-1)
P Push coefficient * power ( = coefficient of derivative)
* Push coefficient * power * pow(x, power-1)
O Sum everything and implicitly display the result
부동 소수점 정밀도는 Python입니다. 나는 현재 스택 값을 두 번 교환합니다. 아마 피하고 바이트를 절약 할 수있는 방법이 있습니다.
답변
파이썬 3, 41 바이트
@AndrasDeak 덕분에 6 바이트가 제거되었습니다 ! 사실,이 대답은 이제 내 것보다 더 그의 것입니다 …
두 가지 수정 을 위해 @ 1Darco1 에 감사드립니다 !
lambda A,x:sum(a*b*x**(b-1) for a,b in A)
계수와 지수 (도전에서 설명한 것과 동일한 형식) 및 숫자가 포함 된 목록 목록을 허용하는 익명 함수입니다.
답변
R, 31 바이트
function(a,n,x)sum(a*n*x^(n-1))
계수 a
벡터, 지수 벡터 n
및 x
값 을 취하는 익명 함수입니다 .
답변
Matlab, 27 바이트
이것은 계수 목록의 형태로 값 x
과 다항식 을 받아들이는 익명 함수입니다 . p
예를 들어 x^2 + 2
로 나타낼 수 있습니다 [1,0,2]
.
@(x,p)polyval(polyder(p),x)