和值组合问题,如:正整数1到80中,选择20个不同的数,求这些数之和为810的组合数量。
类似的问题可以通过递归枚举、动态规划等算法进行求解。上述参数下,枚举已经无法胜任,通过动态规划法,结果是15542763534960598。
但是,如果规模很大,如:正整数1到1000中,选择500个不同的数,求这些数之和为256000的组合数量。受时间和空间的之约,或是耗时巨大,或是内存不足,导致动态规划算法无法实现或没有实际意义。
除了编程求解,有没有数学方法直接计算结果?
和值组合问题,如:正整数1到80中,选择20个不同的数,求这些数之和为810的组合数量。
类似的问题可以通过递归枚举、动态规划等算法进行求解。上述参数下,枚举已经无法胜任,通过动态规划法,结果是15542763534960598。
但是,如果规模很大,如:正整数1到1000中,选择500个不同的数,求这些数之和为256000的组合数量。受时间和空间的之约,或是耗时巨大,或是内存不足,导致动态规划算法无法实现或没有实际意义。
除了编程求解,有没有数学方法直接计算结果?