func poly_print(c) { var l = c.len c.each_kv {|i, n| print n print("x^", (l - i - 1), " + ") if (i < l-1) } print "\n"; } var poly = [ Pair([1,-12,0,-42], [1, -3]), Pair([1,-12,0,-42], [1,1,-3]), Pair( [1,3,2], [1,1]), Pair( [1,-4,6,5,3], [1,2,1]), ] poly.each { |pair| var (q, r) = poly_long_div(pair.first, pair.second) poly_print(q) poly_print(r) print "\n" }