Consider the recursion relation:

x_n = (x_(n-1)*x_(n-2))^k

Given x_1, x_2, and k, x_n can be found by this definition. Write a function which takes as input arguments x_1, x_2, n and k. The output should be x_n.

For example, if x_1=exp(1), x_2=pi, n=5, and k=5/9 then:

R = get_recurse(exp(1),pi,5,4/9)

R = 2.31187497992966

4 Comments

Show
1 older comment

@bmtran
on 9 Feb 2012

is there a story as to why this is "infernal"?

Matt Fig
on 9 Feb 2012

I hate recursion, so it is all infernal to me! Iteration is the way to go...

David Young
on 29 Feb 2012

Test suite could helpfully include n=1 and n=2 tests. I thought that it needed extra complexity to handle these, but @bmtran's top solution shows it doesn't.

Aurelien Queffurust
on 12 Jun 2012

I spend a lot of time to get the correct R from the example. The issue is that you say k = 5/9 instead of 4/9 . Just a typo to correct . Thanks

2 Comments

1 Comment

Binbin Qi
on 9 May 2012

it cost much too time,so .....

1 Comment

David Young
on 29 Feb 2012

Fails for both n=1 and n=2?

2 players like this solution

2 Comments

@bmtran
on 9 Feb 2012

holy moly, you posted this one mere seconds after i posted mine.

David Young
on 29 Feb 2012

Fails for n=1?

3 players like this solution

2 Comments

Alfonso Nieto-Castanon
on 9 Feb 2012

that was a photo-finish :)

David Young
on 29 Feb 2012

OK for both n=1 and n=2.

**Tags**

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

Learn moreOpportunities for recent engineering grads.

Apply Today