const fn = n => { const tree = [], length = n * 2 - 1; for (let i = 0; i < n; i++) { const lr = new Array(n - i).join("_"); const br = new Array(i * 2 + 2).join("*"); const rnd = Math.floor(Math.random() * br.length); tree.push(`${lr}${(i + 1) % 2 === 0? br.slice(0, rnd) + "O" + br.slice(rnd + 1, br.length) : br}${lr}`) } return tree.join("
"); } //fn(32) _______________________________*_______________________________ ______________________________*O*______________________________ _____________________________*****_____________________________ ____________________________****O**____________________________ ___________________________*********___________________________ __________________________****O******__________________________ _________________________*************_________________________ ________________________************O**________________________ _______________________*****************_______________________ ______________________************O******______________________ _____________________*********************_____________________ ____________________******************O****____________________ ___________________*************************___________________ __________________**************************O__________________ _________________*****************************_________________ ________________*********O*********************________________ _______________*********************************_______________ ______________*****O*****************************______________ _____________*************************************_____________ ____________*********O*****************************____________ ___________*****************************************___________ __________************O******************************__________ _________*********************************************_________ ________*****O*****************************************________ _______*************************************************_______ ______******O********************************************______ _____*****************************************************_____ ____********O**********************************************____ ___*********************************************************___ __**O********************************************************__ _*************************************************************_ ********O******************************************************