Programming Team:  Practice Contest, 12-Feb-05 (Matrices)
Mt Lebanon HS 2004-5
David Kosbie


Link to the Programming Team Home Page.


Q1:  Gaussian Elimination (n linear equations in n unknowns)
Read in an integer n followed by n linear equations in n unknowns and solve for the n unknowns.  Consider the following system of equations:
     2a + 2b - 5c = -18
     4a + 3b - 4c = -4
     5a + 4b - 3c = 8
These would be entered by the following numbers (one per line):
     3 2 2 -5 -18 4 3 -4 -4 5 4 -3 8
Print out the values of the unknowns rounded to nearest 0.01.
For the given data, your program should output:
     2.0
     4.0
     6.0

Q2:  Polynomial Fitting
Read in an integer n followed by n points (x1,y1,x2,y2,...), one value per line, and print out a polynomial of degree (n-1) that fits those points. Round coefficients to the nearest 0.01.

Sample input (entered one number per line): 2 1 1.5 2 2.5
Sample output: 1.0x^1 + 0.5x^0

Sample input: 3 -1.5 5 2 -2 4 5
Sample output: 1.0x^2 + -2.5x^1 + -1.0x^0

Q3:  Sum of Powers  (1k + 2k + ... + xk)
Read in a positive integer k and print out the polynomial which represents the sum of the first x integers raised to the kth power. That is, 1^k + 2^k + ... + x^k.  Round coefficients to the nearest 0.01.

Sample input: 1
Sample output: 0.5x^2 + 0.5x^1 + 0.0x^0

Sample input: 2
Sample output: 0.33x^3 + 0.5x^2 + 0.17x^1 + 0.0x^0

Sample input: 4
Sample output: 0.2x^5 + 0.5x^4 + 0.33x^3 + 0.0x^2 + -0.03x^1 + 0.0x^0

To see that this is true, notice that:
    14 + 24 + 34 + 44 = 1 + 16 + 81 + 256 = 354
and
  0.2*45 + 0.5*44 + 0.33*43 + 0.02*42 + -0.03*41 + 0.0*40
   = 204.8 + 128 + 21.12 + 0.32 + -0.12 + 0
   = 354.12  (the extra 0.12 is due to roundoff error)