欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求和为n的所有组合

程序员文章站 2022-04-26 19:34:42
...
给定一个数 n

要求:
(1)等式左边的整数取值为 1~n-1.
(2)要求等式左边之和为n。

若 n = 3;
1 + 1 + 1 = 3;
1 + 2 = 3;

回复内容:

给定一个数 n

要求:
(1)等式左边的整数取值为 1~n-1.
(2)要求等式左边之和为n。

若 n = 3;
1 + 1 + 1 = 3;
1 + 2 = 3;

楼主可以去学习下 母函数

这应该是母函数的模板题

function calcN (n) {
    var res = [],
        cache = {};

    loop(n);

    function loop(k, arr) {
        arr = arr || [];
        var i = 1, count = k / 2 | 0;
        cache[k] = true;
        while (i 

C++的话基于上面改就好了,用mapvector