всем привет
начал учить JS по книге ELOQUENT JAVASCRIPT
столкнулся с проблемой, которую не могу понять. выложу код и результат для разбора.
код:
<!doctype html>
<html>
<head>
</head>
<body>
<script>
function findSolution(target){
function find(start,history){
bconsole.log(start+history);
if(start == target)
return history;
else if(start > target)
return null;
else
// console.log(start+history);
return find(start + 5, "(" + history + "+5)" ) || find(start * 3, "[" + history + "*3]");
}
return find(1,"1");
}
console.log(findSolution(24));
</script>
</body>
</html>
результат:
11
6(1+5)
11((1+5)+5)
16(((1+5)+5)+5)
21((((1+5)+5)+5)+5)
26(((((1+5)+5)+5)+5)+5)
63[((((1+5)+5)+5)+5)*3]
48[(((1+5)+5)+5)*3]
33[((1+5)+5)*3]
18[(1+5)*3]
23([(1+5)*3]+5)
28(([(1+5)*3]+5)+5)
69[([(1+5)*3]+5)*3]
54[[(1+5)*3]*3]
3[1*3]
8([1*3]+5)
13(([1*3]+5)+5)
18((([1*3]+5)+5)+5)
23(((([1*3]+5)+5)+5)+5)
28((((([1*3]+5)+5)+5)+5)+5)
69[(((([1*3]+5)+5)+5)+5)*3]
54[((([1*3]+5)+5)+5)*3]
39[(([1*3]+5)+5)*3]
24[([1*3]+5)*3]
[([1*3]+5)*3]
Uncaught SyntaxError: Unexpected token '='
до этого: 48[(((1+5)+5)+5)*3] все прекрасно понятно, а вот после не могу понять.
собственно вопрос:
как переменная "start" начинает сокращаться т.е. от значения 63 становится 48. так же сокращаются символы на переменной "history" вроде же они должны были добавляться.