如何打印多项式方程

时间:2014-11-25 18:03:08

标签: java

我想打印一个多项式方程,我在数组中得到它的系数。数组中每个系数的索引是该数组中n的幂。 例如,如果数组是{17,11,1,13},则等式为13 * n ^ 3 + n ^ 2 + 11 * n + 17。那个等式的格式正是我想要打印的。我试过这个,但如果方程为0,它就不会打印任何东西。对于其他一些测试用例,有一些错误。

for (int i = 10; i > 0; i--) {
    if (array[i] == 0) {
        continue;
    }

    if (array[i] == 1) {
        if (i == 0 || i == 1) {
            if (i == 1) {
                System.out.print("n+");
            } else {
                System.out.print(array[i]);
            }
        }
        if (i > 1) {
            System.out.print("n^" + i + "+");
        }
    }if (array[i] > 1) {
        if (i == 0 || i == 1) {
            if (i == 1) {
                System.out.print(array[i] + "*n");

            } else {
                System.out.print(array[i]);
            }
        }
        if (i > 1) {
            System.out.print(array[i] + "*n^" + i );
            if (array[i-1]>0) {
                System.out.print("+");
            }
        }
    }

}

1 个答案:

答案 0 :(得分:2)

int[] array = {17,11,1,13};
string polynomialString = "";
for(int i = array.length - 1; i >= 0; i--)
{
  if(i > 1)
  {
    polynomialString += array[i] + "*n^" + i + "+";
  }
  else if(i == 1)
  {
    polynomialString += array[i] + "*n+";
  }
  else
  {
    polynomialString += array[i];
  }
}
return polynomialString;