想了可长时间    不知道JS怎么才能做到  

解决方案 »

  1.   

        function sum(n, list, start) {
            if (n === 1) {
                console.log(total + '=' + list.join('+') + '+1')
            } else {
                for (let i = start; i <= n / 2; i++) {
                    list.push(i)
                    sum(n - i, list, i)
                    list.pop()
                }
                list.length && console.log(total + '=' + list.join('+') + '+' + n)
            }
        }
        const total = 4
        sum(total, [], 1)
      

  2.   

    感谢大佬  没想到用pop方法  一直懵逼怎么存数