Can someone briefly or clearly explain the logic in this code

Nov 30, 2018 at 5:14am
if I want this function interlaceDigits(1357, 2468) prints 12345678
the code would be
 
return 100 * interlaceDigits(x / 10, y / 10) + 10 * (x % 10) + y % 10; 

here is the part I want to know. If you can draw me a picture. That is even better.
as same as
1
2
gce(1357, 13657) prints 57
return 10 * gce(x / 10, y / 10) + x % 10;

I can't draw a picture to see what is being returned.
Thank you.
Last edited on Nov 30, 2018 at 5:16am
Nov 30, 2018 at 7:18am
You have recursive functions.
You do show only one line of the functions. That cannot be the entire function.

We cannot "draw" without full code. We can only guess:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
gce( 1357, 13657 )
=
10 * gce( 1357 / 10, 13657 / 10 ) + 1357 % 10
=
10 * gce( 135, 1365 ) + 7

    gce( 135, 1365 )
    =
    10 * gce( 135 / 10, 1365 / 10 ) + 135 % 10
    =
    10 * gce( 13, 136 ) + 5

gce( 1357, 13657 )
=
10 * (10 * gce( 13, 136 ) + 5) + 7
=
100 * gce( 13, 136 ) + 10 * 5 + 7
=
...
Topic archived. No new replies allowed.