玩到后面卡关了,看到有大佬用python和c++写了算法,手痒用js试了下,不过算不上算法,就纯粹递归遍历。不要吐槽这代码规范,毕竟浏览器编程😂
作者如果介意的话我删代码。
function h(a,b,c,n){
if(a==b&&b==c) return true;
else if(n<=0) return false;
let d=a%2==0?a/2:a,
e=b%2==0?b/2:b,
f=c%2==0?c/2:c;
if(h(a-d,b+d,c,n-1)||h(a-d,b,c+d,n-1)||h(a+e,b-e,c,n-1)||h(a,b-e,c+e,n-1)||h(a+f,b,c-f,n-1)||h(a,b+f,c-f,n-1)){
console.log(a,b,c);
return true
}else return false
}