/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr string字符串
* @return bool布尔型
*/
function AdditiveArray(arr) {
// write code here
function cal(arr) {
var res = [arr[0], arr[1]];
var sum = 0;
var index = 2
var basic = parseInt(arr.substring(0, 2)) + parseInt(arr.substring(2, 4))
var arr3 = parseInt(arr.substring(4, 6))
if (arr3 == basic && arr[2] != 0) {
res = [parseInt(arr.substring(0, 2)), parseInt(arr.substring(2, 4))]
} else {
res = [arr[0], arr[1]];
}
var l = arr3 == basic ? 4 : 2
for (let i = l; i < arr.length; i++) {
var ressum = parseInt(res[index - 1]) + parseInt(res[index - 2])
if (ressum < 10) {
sum = parseInt(arr[i - 1]) + parseInt(arr[i - 2])
index++
} else {
sum = parseInt(arr.substring(i, i + 2)) + parseInt(arr.substring(i + 2, i + 4))
index++
}
if (sum < 10) {
res.push(arr[i])
} else {
res.push(arr[i] + arr[i + 1])
i = i + 1
}
}
if (arr.length < 3 || res.length < 3) { return false }
for (let i = 2; i < res.length; i++) {
if (res[i] != parseInt(res[i - 1]) + parseInt(res[i - 2])) {
return false
}
}
return true
}
for (let i = 0; i < arr.length - 2; i++) {
var newarr = arr.slice(i, arr.length)
var mm = cal(newarr);
if (mm) {
return true
}
for (let j = i + 2; j < arr.length; j++) {
var newarr2 = newarr.slice(i, j)
var kk = cal(newarr2);
if (kk && newarr2.length >3) {
return true
}
}
}
return false
}
module.exports = {
AdditiveArray : AdditiveArray
};
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr string字符串
* @return bool布尔型
*/
function AdditiveArray(arr) {
// write code here
function cal(arr) {
var res = [arr[0], arr[1]];
var sum = 0;
var index = 2
var basic = parseInt(arr.substring(0, 2)) + parseInt(arr.substring(2, 4))
var arr3 = parseInt(arr.substring(4, 6))
if (arr3 == basic && arr[2] != 0) {
res = [parseInt(arr.substring(0, 2)), parseInt(arr.substring(2, 4))]
} else {
res = [arr[0], arr[1]];
}
var l = arr3 == basic ? 4 : 2
for (let i = l; i < arr.length; i++) {
var ressum = parseInt(res[index - 1]) + parseInt(res[index - 2])
if (ressum < 10) {
sum = parseInt(arr[i - 1]) + parseInt(arr[i - 2])
index++
} else {
sum = parseInt(arr.substring(i, i + 2)) + parseInt(arr.substring(i + 2, i + 4))
index++
}
if (sum < 10) {
res.push(arr[i])
} else {
res.push(arr[i] + arr[i + 1])
i = i + 1
}
}
if (arr.length < 3 || res.length < 3) { return false }
for (let i = 2; i < res.length; i++) {
if (res[i] != parseInt(res[i - 1]) + parseInt(res[i - 2])) {
return false
}
}
return true
}
for (let i = 0; i < arr.length - 2; i++) {
var newarr = arr.slice(i, arr.length)
var mm = cal(newarr);
if (mm) {
return true
}
for (let j = i + 2; j < arr.length; j++) {
var newarr2 = newarr.slice(i, j)
var kk = cal(newarr2);
if (kk && newarr2.length >3) {
return true
}
}
}
return false
}
module.exports = {
AdditiveArray : AdditiveArray
};