introduction
Les humains sont une espèce remarquable, mais nous pouvons parfois être très difficiles à comprendre, en particulier pour les ordinateurs. En particulier, il semble que nous aimions écrire des polynômes de manière très compliquée, avec des règles apparemment arbitraires.
Quel est le programme le plus court que vous puissiez écrire pour formater correctement un polynôme en utilisant ces règles?
Défi
Contribution
Liste d'entiers compris entre -1000 et 1000 (inclus), représentant les coefficients d'un polynôme, la dernière entrée étant le coefficient de x ^ 0 (la constante), la dernière dernière étant le coefficient de x ^ 1, etc.
Sortie
Une chaîne représentant ce polynôme dans la notation mathématique humaine correctement formatée.
Règles:
- Le signe sur le coefficient de début n'apparaît que s'il est négatif.
Right: -x^2+3
Wrong: +x^2+3
- Les composants dont le coefficient est égal à 0 ne sont pas imprimés (à l'exception du cas où tous les coefficients sont 0 *).
Right: x^5-x^2+3
Wrong: x^5+0x^4+0x^3-x^2+0x+3
- Les coefficients
-1
et+1
doivent être affichés sans le 1, à moins qu’ils ne soient la constante.
Right: x^5-x^2+1
Wrong: 1x^5-1x^2+1
- L'exposant n'est affiché que s'il est supérieur à 1 et la variable uniquement si l'exposant est supérieur à 0.
Right: 3x^3-7x^2+2x+1
Wrong: 3x^3-7x^2+2x^1+1x^0
- * Cas des angles: bien que les valeurs nulles ne génèrent généralement pas ce composant, si tous les coefficients sont nuls, la constante 0 doit être imprimée.
Right: 0
Wrong: 0x+0
Wrong: (nothing)
- Il s’agit d’un code-golf et le gagnant sera le programme contenant le moins d’octets.
Exemple d'entrée et de sortie
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
J'ai hâte de voir vos solutions. S'amuser!
MODIFIER:
- Vous pouvez entourer les opérations par des espaces si vous le souhaitez. Donc
3x+5
et3x + 5
sont bien tous les deux.3x+ 5
et3x +5
ne sont pas. - Si vous voulez produire des caractères d'exposant réels (par exemple en Tex), cela est autorisé car ils sont encore plus proches de la façon dont les humains écrivent.
- Les coefficients doivent apparaître sans décimales, par exemple,
9x^2
est correct,9.0x^2
n'est pas.
1x
-> x
remplacement ne se transforme pas 21x^2
en 2x^2
.
3x^2 + 4
contre3x^2+4
?