태그 보관물: code-golf

code-golf

다항식의 한 지점에서 변화율 찾기 처리합니다. x- 좌표에서 변화율을 찾기

다항식과 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벡터, 지수 벡터 nx값 을 취하는 익명 함수입니다 .


답변

Matlab, 27 바이트

이것은 계수 목록의 형태로 값 x과 다항식 을 받아들이는 익명 함수입니다 . p예를 들어 x^2 + 2로 나타낼 수 있습니다 [1,0,2].

@(x,p)polyval(polyder(p),x)