给定数字N,找到将其写为两个或更多个连续整数之和的方法的数量

5 algorithm big-o dynamic-programming

这是标记为动态编程问题(给定数字N,找到将其写为两个或更多连续整数之和的方式的数量)和示例15 = 7 + 8,1 + 2 + 3 + 4 + 5,4 + 5 + 6

我用这样的数学解决了:

a +(a + 1)+(a + 2)+(a + 3)+ ... +(a + k)= N.

(k + 1)*a +(1 + 2 + 3 + ... + k)= N.

(k + 1)a + k(k + 1)/ 2 = N.

(k + 1)*(2*a + k)/ 2 = N.

然后检查如果N被(k + 1)和(2*a + k)整除,那么我可以在O(sqrt(N))时间内找到答案

这是我的问题,如何通过动态编程解决这个问题?什么是复杂性(O)?

PS:对不起,如果这是一个重复的问题.我搜索但我能找到