2014-11-25 2 views
0

배열의 계수가있는 다항식을 인쇄하고 싶습니다. array에있는 계수의 각 인덱스는 해당 배열에있는 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("+"); 
      } 
     } 
    } 

} 

답변

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; 
+0

사실,하지만 코드가 필요 일부 ";" –

+0

'array.Count - 1;'--- 자바에서 이것을 결코 만나지 못했을 것입니다. 아마'array.length - 1;'이어야합니다! –