소개
인간은 놀라운 종이지만, 특히 컴퓨터에 대해서는 때때로 이해하기가 매우 어려울 수 있습니다. 특히, 우리는 임의의 규칙으로 매우 복잡한 방식으로 다항식을 작성하는 것을 좋아합니다.
이 규칙을 사용하여 다항식을 올바르게 형식화하기 위해 작성할 수있는 가장 짧은 프로그램은 무엇입니까?
도전
입력
다항식의 계수를 나타내는 -1000에서 1000 사이의 정수 목록 (마지막 항목은 x ^ 0 (상수), 두 번째는 x ^ 1의 계수 등임)
산출
올바른 형식의 인간의 수학적 표기법으로이 다항식을 나타내는 문자열입니다.
규칙 :
- 선행 계수의 부호는 음수 인 경우에만 표시됩니다.
Right: -x^2+3
Wrong: +x^2+3
- 계수가 0 인 부품은 인쇄되지 않습니다 (모든 계수가 0 * 인 코너 케이스 제외).
Right: x^5-x^2+3
Wrong: x^5+0x^4+0x^3-x^2+0x+3
- 계수
-1
와는+1
그들이 일정하지 않는 한, 1없이 표시 할 수 있습니다.
Right: x^5-x^2+1
Wrong: 1x^5-1x^2+1
- 지수는 1보다 큰 경우에만 표시되고 지수가 0보다 큰 경우에만 변수가 표시됩니다.
Right: 3x^3-7x^2+2x+1
Wrong: 3x^3-7x^2+2x^1+1x^0
- * Corner case : 값이 0이면 일반적으로 해당 구성 요소를 인쇄하지 않지만 모든 계수가 0이면 상수 0을 인쇄해야합니다.
Right: 0
Wrong: 0x+0
Wrong: (nothing)
- 이것은 코드 골프이므로 우승자는 가장 적은 바이트를 가진 프로그램이됩니다.
입력 및 출력 예
Input: Output:
[0] 0
[0,0] 0
[0,-1,35,0] -x^2+35x
[5,1,7,-9] 5x^3+x^2+7x-9
[100,0,0,-1] 100x^3-1
[931,21,-11,1] 931x^3+21x^2-11x+1
귀하의 솔루션을 기대합니다. 즐기세요!
편집하다:
- 원하는 경우 공백으로 작업을 둘러 쌀 수 있습니다. 그래서
3x+5
하고3x + 5
모두 정상입니다.3x+ 5
그리고3x +5
아닙니다. - 인간이 쓰는 방식에 더 가깝기 때문에 실제 지수 문자 (예 : Tex)를 생성하려면 허용됩니다.
- 계수는 소수점 이하 자릿수없이 표시되어야합니다. 예를 들어
9x^2
, 정확9.0x^2
하지 않습니다.
1x
-> x
교체는 변경되지 않습니다 21x^2
에 2x^2
.
3x^2 + 4
대3x^2+4
?