numeros con [] ! - *

by juvian

JavaScript

function getNum(n, recursive){
    recursive = recursive || false

    
    digits={
        "0":{
            str:"+[]+[]",
            num: "+[]", //[]*[]
            array: "[+[]]"
        },
        "1":{
            num:"+!![]"
        },
        "2":{
            num: "!+[]+!+[]"
        },
        "3":{
            num:"!![]+!![]+!![]"
        },
        "4":{
            num:"!![]+!![]+!![]+!![]"
        },
        "5":{
            num:"!![]+!![]+!![]+!![]+!![]"
        },
        "6":{
            num:"[!![]+!![]+!![]]*[!+[]+!+[]]"
        },
        "7":{
            num:"+!![]+[+[]]-!+[]-!+[]-!+[]"
        },
        "8":{
            num:"+!![]+[+[]]-!+[]-!+[]"
        },
        "9":{
            num:"+!![]+[+[]]-!+[]"
        },
        "100":{
            num:"+!![]+[+[]]+[+[]]"
        }
    }
    
    for(var i in digits){
        if(!digits[i].array){
            digits[i].array="["+digits[i].num+"]"            
        }
    }
    
    nd = n.toString().split("")

    
    str=""
    
    for(var i=0;i<nd.length;i++){
        var d = nd[i]
        str+= i==0 ? digits[d].num : digits[d].array
        if (i+1 != nd.length)str+="+"
    }
    
    
    if(n==366){
        return "[!![]+!![]+!![]]+[!![]+!![]+!![]+[!![]+!![]+!![]]]*[!+[]+!+[]]"
    }else if(n==456){
        return "!![]+!![]+!![]+[+[]]+[+[]]-[]+[+!![]+[!+[]+!+[]]]*[+!![]+[!![]+!![]+!![]]]"
    }else if(n==465){
        return "[!![]+!![]+!![]+[+!![]]]*[+!![]+[!![]+!![]+!![]+!![]+!![]]]"
    }else if(n==466){
        return "[!![]+!![]+!![]+[+!![]]]*[+!![]+[!![]+!![]+!![]+!![]+!![]]]+!![]"
    }else if(n==467){
        return "[!![]+!![]+!![]+[+!![]]]*[+!![]+[!![]+!![]+!![]+!![]+!![]]]+!![]"
    }
    
    if(str.length == 77){
        if (digits[nd[1]].array.indexOf("*")!=-1){
            str=digits[nd[0]].num +"+"+digits[nd[1]].num +"+"+digits[nd[2]].array
        }
    }
    
    if(str.length > 75){
        var remaining = 100-(n%100)
        console.log(nd, str)
       ...