The idea is quite straightforward:

Choose the first number
A
, it can be the leftmost1
up toi
digits.i<=(L1)/2
because the third number should be at least as long as the first number 
Choose the second number
B
, it can be the leftmost1
up toj
digits excluding the first number. the limit forj
is a little bit tricky, because we don't know whetherA
orB
is longer. The remaining string (with lengthLj
) after excludingA
andB
should have a length of at least max(lengthA
, lengthB
), where lengthA
=i
and lengthB
=ji
, thusLj >= max(ji, i)

Calls the recursive checker function and returns true if passes the checker function, or continue to the next choice of
B
(A
) until there is no more choice forB
orA
, in which case returns a false.
Here is the code in Java:
public boolean isAdditiveNumber(String num) {
int L = num.length();
// choose the first number A
for(int i=1; i<=(L1)/2; i++) {
// A cannot start with a 0 if its length is more than 1
if(num.charAt(0) == '0' && i>=2) break; //previous code: continue;
// choose the second number B
for(int j=i+1; Lj>=ji && Lj>=i; j++) {
// B cannot start with a 0 if its length is more than 1
if(num.charAt(i) == '0' && ji>=2) break; // previous: continue;
long num1 = Long.parseLong(num.substring(0, i)); // A
long num2 = Long.parseLong(num.substring(i, j)); // B
String substr = num.substring(j); // remaining string
if(isAdditive(substr, num1, num2)) return true; // return true if passes isAdditive test
// else continue; // continue for loop if does not pass isAdditive test
}
}
return false; // does not pass isAdditive test, thus is not additive
}
// Recursively checks if a string is additive
public boolean isAdditive(String str, long num1, long num2) {
if(str.equals("")) return true; // reaches the end of string means a yes
long sum = num1+num2;
String s = ((Long)sum).toString();
if(!str.startsWith(s)) return false; // if string does not start with sum of num1 and num2, returns false
return isAdditive(str.substring(s.length()), num2, sum); // recursively checks the remaining string
}
If you are interested in my other posts, please feel free to check my Github page here: https://github.com/FLAG/AlgorithmsinJava