23
漂亮的印刷多项式
介绍 人类是一个非凡的物种,但是有时我们很难理解,尤其是对于计算机。特别是,我们似乎喜欢用看似随意的规则以非常复杂的方式编写多项式。 使用这些规则,您可以编写出最短的程序来正确格式化多项式吗? 挑战 输入值 -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 *正确的情况:虽然零值通常会导致不打印该组件,但如果所有系数均为零,则应打印常数0。 Right: 0 Wrong: 0x+0 Wrong: (nothing) 这是代码高尔夫球,因此获胜者将是字节数最少的程序。 输入和输出示例 Input: Output: [0] 0 [0,0] 0 [0,-1,35,0] …