Asked by pitchaorn
on 20 Sep 2013

the product of four consecutive even integers is 13440. Using Matlab's build-in function for operations with polynomials, determine the four integers.

I don't know how to do that

answer is 8 10 12 14

help me please

*No products are associated with this question.*

Answer by Jos (10584)
on 20 Sep 2013

Accepted answer

One approach is to use brute force:

N = 13440 ; for k = 2:N v = k + [0:2:6] ; p = prod(v) ; if prod(v)==N, disp('N is the product of :') ; disp (v) break elseif prod(v) > N disp('There is no solution') break end end

There are many optimalisations that can be made ...

Show 1 older comment

Jos (10584)
on 20 Sep 2013

Note that this does not use polynomials, so it is not a real answer to your (homework?) question ...

pitchaorn
on 20 Sep 2013

Yes, I think my teacher want my answer make from polynomials.

pitchaorn
on 23 Sep 2013

Your answer is correct so thank you. But I change v to v=x*(x+2)*(x+4)*(x+6) and if v==N. My teacher told me "x*(x+2)*(x+4)*(x+6)" is polynomials.

Answer by Image Analyst
on 20 Sep 2013

y = x*(x+2)*(x+4)*(x+6)

= x*(x+2)*(x^2+10X+24)

= x * ( x^3+10x^2+24x + 2x^2+20X+48)

= x^4 + .... and so on.

Then subtract 13440 and use fzero to determine the root. Perhaps that's what he meant.

Image Analyst
on 20 Sep 2013

Visualizing it helps:

x = -20:10; y = x.*(x+2).*(x+4).*(x+6); plot(x,y, 'bs-', 'LineWidth', 3); xl = xlim; % Plot a horizontal line at y = 13440 line([xl(1), xl(2)], [13440, 13440], ... 'Color', [1,0,0], 'LineWidth', 3); grid on; % Enlarge figure to full screen. set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);

pitchaorn
on 23 Sep 2013

Thank you for answer

Answer by Sean de Wolski
on 20 Sep 2013

Obligatory one-liner:

vals = 2*find(prod(bsxfun(@plus,(2:2:13440).',0:2:6),2)==13440)+[0:2:6]

pitchaorn
on 23 Sep 2013

Thank you for answer

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments