J에서 절반 기능을 다시 작성하는 방법은 무엇입니까?
-
08-07-2019 - |
문제
에서 J 프로그래밍 언어,
-: i. 5
위 함수는 [0,4]에 있는 모든 정수의 절반을 계산합니다.이제 -를 다시 작성하고 싶다고 가정해 보겠습니다.기능은 단지 재미를 위해서입니다.지금까지 내 추측으로는
]&%.2
그러나 그것은 그것을 자르지 않는 것 같습니다.어떻게 하나요?
해결책
%&2 NB. divide by two
0.5&* NB. multiply by one half
다른 팁
참고: ] % 2:또한 작동하지만 올바른 문법을 보장하기 위해 이를 이름 정의로 사용하거나 표현식을 괄호 안에 넣을 수 있습니다.
나는 당신이 %를 사용하는 것을 보았습니다. 아마도 당신이 매트릭스를 나누고 있었고 "매트릭스 분할"을해야한다고 생각했기 때문일 것입니다.
매트릭스 분할 및 매트릭스 역 역수는 Matrix Algebra에 대한 것이며, 본질적으로 다항식 목록이 있으며, 방정식을 해결하기 위해 한 번에 다항식에 대한 변환을하려고합니다. J에서 쉽게 할 수있는 것 중 하나는 매트릭스 대수이며 매트릭스 분할을위한 빌드 된 사람이 있고 매트릭스를 반전시키기 위해 (본 것처럼) 문구 섹션에는 모든 일반적인 매트릭스 변환을 수행하기위한 짧은 문구가 있습니다. . 예를 들어 결정 요인을 복용합니다.
그러나 단순히 벡터를 스칼라로 나누기 위해 벡터를 얻거나 벡터를 얻거나 다른 행렬의 해당 요소로 매트릭스를 나누는 경우, 이는 % 구분 기호 일뿐입니다.
이것을 시도하고 이해하려면 Euler Problem 101 (http://projecteuler.net/problem=101)을보고 jsoftware.com 사이트에서 Google 커브 피팅을보십시오. 관측치에서 행렬을 생성하고 표시된 기본 행렬을 사용하면 AX^2+BX+C = Y를 X와 Y가 있고 A, B 및 C를 결정하려는 경우를 해결할 수 있습니다. 결과 방정식은 매우 양호하지만 완벽하지 않으면 완벽한 방정식을 해결하려면 완벽한 방정식이 필요하기 때문에 모든 것에 대해 확장 된 산술을 사용해야합니다.
Matrix Algebra와 함께 놀고 싶지 않다면 신경 쓰지 않을 수도 있습니다.