Anonymous user
Display a linear combination: Difference between revisions
m
used a larger font to make it easier to read the superscripts and symbols, added other whitespace and highlighting, re-did the examples with more whitespace, reduced some verbiage, added a ;Task; (bold) header, added whitespace before the TOC.
(Added Elixir) |
m (used a larger font to make it easier to read the superscripts and symbols, added other whitespace and highlighting, re-did the examples with more whitespace, reduced some verbiage, added a ;Task; (bold) header, added whitespace before the TOC.) |
||
Line 1:
{{draft task}}
;Task:
Write a function that, when given a finite list of scalars <big><big><math> (\alpha^1,\alpha^2,\ldots) </math>,
<br>creates a string representing the linear combination <big><big><math> \sum_i\alpha^i e_i </math></big></big> in an explicit format often used in mathematics, that is:
::: <big><big><math> \alpha^{i_1}e_{i_1}\pm|\alpha^{i_2}|e_{i_2}\pm|\alpha^{i_3}|e_{i_3}\pm\ldots </math></big></big>
:::::::: where <big><big><math> \alpha^{i_k}\neq 0 </math></big></big>▼
<br>
▲where <math>\alpha^{i_k}\neq 0</math>
*
▲In other words, and with examples and counter-examples, your output must comply to the following rules:
::::::: '''e(1)''' is fine, '''e(1) + 0*e(3)''' or '''e(1) + 0''' is wrong.
*
▲* you don't show null terms, unless the whole combination is null. For instance while the output "0" is fine, "e(1) + 0*e(3)" or "0 + e(1)" are wrong.
::::::: '''e(3)''' is fine, '''1*e(3)''' is wrong.
▲* you don't show scalars when they are equal to one or minus one. For instance the string "1*e(3)" is wrong.
*
::::::: '''e(4) - e(5)''' is fine, '''e(4) + -e(5)''' is wrong.
<br>
Show here output for the following lists of scalars:
<pre>
10) -1
</pre>
<br><br>
=={{header|EchoLisp}}==
|