Just a friend sent this picture, said he made it, to test me.

My whole person is muddleheaded, logic slag is to refuse this kind of question.

Well, if you look around for answers, that’s more like it.

for (var i = 0; I < math.h pow (4, 10); i++) { var tempAnswer=i.toString(4).padStart(10, '0') ; if (judge(tempAnswer)) { let alp="ABCD"; let result=""; for(let i=0; i<tempAnswer.length; i++){ result+=(alp[tempAnswer[i]]); } console.log(result); }} function judge(tempAnswer) {// 错 误 let judge2="2301"; if (judge2[tempAnswer[1]]! =tempAnswer[4]) { return false; } // let judge3="2513"; judge3=judge3.replace(judge3[tempAnswer[2]],""); if (tempAnswer[judge3[0]]! =tempAnswer[judge3[1]]||tempAnswer[judge3[1]]! =tempAnswer[judge3[2]]||tempAnswer[judge3[0]]! =tempAnswer[judge3[2]]){ return false; } // let judge4=[[0,4],[1,6],[0,8],[5,9]]; if (tempAnswer[judge4[tempAnswer[3]][0]]! =tempAnswer[judge4[tempAnswer[3]][1]]) { return false; } // let judge5="7386"; if (tempAnswer[4]! ==tempAnswer[judge5[tempAnswer[4]]]) { return false; } // let judge6=[[1,3],[0,5],[2,9],[5,9]]; if (tempAnswer[7]! ==tempAnswer[judge6[tempAnswer[5]][0]]||tempAnswer[7]! ==tempAnswer[judge6[tempAnswer[5]][1]]) { return false; } // let judge7="2103"; Let count =,0,0,0 [0]; for(let i=0; i<10; i++){ count[tempAnswer[i]]++; } let min=Math.min(... count); let max=Math.max(... count); for(let i=0; i<4; i++){ if (min==count[i]) { if (judge7[tempAnswer[6]]! =i) { return false; }}} // 错 误 let judge8="6419"; if (tempAnswer[7]-tempAnswer[judge8[tempAnswer[7]]]==-1||tempAnswer[7]-tempAnswer[judge8[tempAnswer[7]]]==1) { return false; If (tempAnswer[0]==tempAnswer[5]&&tempAnswer[4]== = judge9[tempAnswer[8]]) {return false; } if (tempAnswer[0]! =tempAnswer[5]&&tempAnswer[4]! =tempAnswer[judge9[tempAnswer[8]]]) { return false; } let judge10="3241"; if((max-min)! =judge10[tempAnswer[9]]){ return false } return tempAnswer; }Copy the code

Perfect unique solution.