좋은 방정식 편집기가없는 상태에서 방정식을 다루는 것은 지저분하고 불쾌합니다. 예를 들어, 적분과 그 솔루션을 표현하려면 다음과 같이 보일 수 있습니다.
적분 [x ^ 3 e ^ (-mx ^ 2 b / 2), dx] =-((2 + b m x ^ 2) / (b ^ 2 * e ^ ((b m x ^ 2) / 2) * m ^ 2))
에서 integrals.wolfram.com , 이것은 "입력 양식"이라고합니다. 아무도 "입력 형식"으로 방정식을보고 싶어하지 않습니다. 이 방정식을 시각화하는 이상적인 방법은 다음과 같습니다.
(Wolfram은 이것을 "전통적인 형태"라고 부릅니다)
이 코드 골프의 경우, "입력 형식"의 방정식을 입력으로 사용하고 "전통 형식"의 ASCII 표현으로 해당 방정식을 시각화하는 프로그램을 작성하십시오. 따라서이 예제에서는 다음과 같은 것을 얻을 수 있습니다.
/\ 3
| x
| ------------ dx =
| 2
\/ (m x b)/2
e
2
2 + b m x
-(-----------------)
2
2 (b m x )/2 2
b e m
요구 사항 :
- 어떤 식 으로든 입력을 섞거나 단순화하거나 재 배열하지 마십시오. 입력에서 설명한 것과 정확히 같은 형식으로 렌더링하십시오.
- 네 가지 기본 수학 연산 (+,-, *, /)을 지원합니다. 두 개의 인접한 숫자를 곱하지 않으면 * 기호가 내포되므로 생략해야합니다.
- 통합에 대한 지원 (위의 예에 표시된대로)은 필요 하지 않습니다. Integrate [...] 또는 Sqrt [...]와 같은 기능으로 입력을 지원할 수 있다는 것은 보너스입니다.
- 위의 예에 표시된대로 지지력을 구합니다 (n / n은 1 / n 제곱을 올림으로써 모델링 할 수 있습니다).
- 중복 괄호 (위의 예에서 대분수의 분모와 분자 주위의 괄호와 같이)는 생략해야합니다.
- 분수의 분모와 분자의 표현은 수평 분할 선 위와 아래에 중심을 두어야합니다.
- 등호 뒤에 새 줄을 시작할지 여부를 선택할 수 있습니다. 위의 예에서 새 줄이 시작됩니다.
- 작업 순서는 출력에서 입력과 정확히 동일해야합니다.
솔루션 테스트를위한 입력 및 관련 출력의 예 :
입력:
1/2 + 1/3 + 1/4
산출:
1 1 1
- + - + -
2 3 4
입력:
3x^2 / 2 + x^3^3
산출:
2 3
3 x 3
---- + x
2
입력:
(2 / x) / (5 / 4^2)
산출:
2
-
x
--
5
--
2
4
입력:
(3x^2)^(1/2)
산출:
2 1/2
(3 x )
질문에는 일반적으로 어떤 종류의 컨테스트인지를 나타내는 태그가 있어야합니다. 텍스트에 "codegolf"라고 말했기 때문에 하나를 추가 할 자유를 얻었습니다.
—
dmckee --- ex-moderator 고양이
이 문제는 코드 골프가 되기에는 너무 성가신 일입니다. 어떤 구조를 지원해야하는지 또는 어떤 구조를 사용해야하는지 말하지 않습니다. +,-, * 및 / 만 지원하면 충분합니까? 시그마가 지원되어야합니까? 그리스 문자는 어떻습니까? 당신이 제기 한 질문에 대한 가능한 해결책은 코드 길이와 비교하기에는 기능이 너무 다양 할 수 있습니다.
—
MtnViewMark 2
@ MtnViewMark, 나는 "요구 사항"을 추가했습니다 ... 골프가 더 나은지 알려주세요.
—
Ami
@ 아미-예, 많이.
—
MtnViewMark
MtnViewMark에 동의합니다. 이것은 매우 개방적이고 모호한 것 같습니다. 아마도 골프 목적으로 입력과 출력을 잘 정의 된 테스트 케이스 세트로 제한하는 것이 좋습니다. 참조 구현을 했습니까?
—
gnibbler