As always, feel free to solve this problem on your own. However, I
would like you to think about the problem recursively. That may not be
the most natural way for you to think about it, but it's good practice.
One of the keys to this problem is to turn low and high
into strings and work on the strings. Here's how you can do it.
Go ahead and turn this definition into a recursive solution.
- Turn low and high
into the strings l and h.
- If the two strings differ in size, you can return instantly. Think about it.
- Otherwise, let's define a function NE(l, h), where l and
h are strings that are the same size. We'll define NE as follows:
- If l and h are empty strings, then NE(l, h) equals zero.
- Otherwise, let l be
l0 + lend, where l0 is the
first character of l and lend is the rest of the characters.
h0 + hend. If l0 does not
equal h0, then NE(l, h) equals zero.
- Otherwise, we know that
h0. If l0 equals '8', then
NE(l, h) equals
(1 + NE(lend, hend)).
- Otherwise, NE(l, h) equals
I know you can do this with one for loop after you've created l
and h. However, I'd like you to structure it with recursion. It's good